首页 > 代码库 > ACdream 速攻组~
ACdream 速攻组~
1008
1 /*题意:在圆上取n个点,相邻两个点之间连线,(注意,n和1相邻),然后所有点对(i ,i+2)相连,问能形成的不同的三角形有多少个? 2 3 思路:画图找规律,发现n=3,cnt=1; n=4,cnt=8; n=5 cnt=35 (5*2+5*2+ 5+5+5); n=6 cnt= 32 (6*2+6*2+ 6+2); 4 5 n=7,cnt=35(7*2+7*2+7); n=8, cnt=40(8*2+8*2+8) 发现后面项演变成多边形了! 6 7 于是得到规律:n>6;cnt=5*n 8 */ 9 #include <stdio.h> 10 int a[7]={0,0,0,1,8,35,32}; 11 int main() 12 { 13 int T,n,ans; 14 scanf("%d",&T); 15 for(int i=1;i<=T;i++) 16 { 17 scanf("%d",&n); 18 ans=n>6?(5*n):a[n]; 19 printf("Case #%d: %d\n",i,ans%20121111); 20 } 21 return 0; 22 }
1125
1 /* 2 题意:找到最长的连续A的个数n,然后输出n+1个A 3 思路:暴力。 4 */ 5 #include<cstdio> 6 #include<cstring> 7 #include<iostream> 8 using namespace std; 9 int main()10 {11 char s[1001];12 int i,j,k,l,t;13 int sum,max;14 cin>>t;15 getchar();16 while(t--)17 {18 sum=max=0;19 gets(s);20 for(i=0;i<strlen(s);i++)21 {22 if(s[i]==‘A‘)23 { sum=1;24 25 for(j=i+1;j<strlen(s);j++)26 {27 if(s[i]==s[j])28 sum++;29 if(sum>max)30 max=sum;31 if(s[i]!=s[j])32 {33 sum=1;34 break;35 }36 }37 }38 }39 for(i=0;i<=max;i++)40 printf("A");41 printf("\n");42 }43 return 0;44 }
ACdream 速攻组~
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。