码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces#360Div2

时间:2016-07-06 21:42:08      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

A题

题意:给定d个操作,每个操作当中只包含1和0,若存在0,则表示操作者获胜,求最大的连续获胜个数

分析:直接统计之后用一个数组纪录下来即可

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <string>
 5 #include <vector>
 6 #include <algorithm>
 7 #include <set>
 8 #include <map>
 9 #include <bitset>
10 #include <cmath>
11 #include <queue>
12 #include <stack>
13 using namespace std;
14 const int maxn=200;
15 int n,d;
16 int main()
17 {
18     while(cin>>n>>d)
19     {
20         string s[maxn];
21         for(int i=0;i<d;i++)
22             cin>>s[i];
23         int vis[maxn];
24         memset(vis,0,sizeof(vis));
25         for(int i=0;i<d;i++){
26             for(int j=0;j<n;j++){
27                 if(s[i][j]==0){
28                     vis[i]=1;break;
29                 }
30             }
31         }
32         int cnt=0;
33         int mx=0;
34         for(int i=0;i<d;i++){
35             if(vis[i])
36                 cnt++;
37             else
38                 cnt=0;
39             mx=max(mx,cnt);
40         }
41         cout<<mx<<endl;
42     }
43     return 0;
44 }
View Code

B题

题意:求出第n大的数位为偶数的回文数

分析:因为是偶数位的回文数,所以必然可以分为前一半和后一半,两个不一样的数,前前一半大小必定不同,同时前一半可以为任意数,因此第n大的偶数位回文数就为前一半是n,后一半是n的转置

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <string>
 5 #include <vector>
 6 #include <algorithm>
 7 #include <set>
 8 #include <map>
 9 #include <bitset>
10 #include <cmath>
11 #include <queue>
12 #include <stack>
13 using namespace std;
14 string s;
15 int main()
16 {
17     while(cin>>s)
18     {
19         cout<<s;
20         reverse(s.begin(),s.end());
21         cout<<s<<endl;
22     }
23     return 0;
24 }
View Code

 

Codeforces#360Div2

标签:

原文地址:http://www.cnblogs.com/wolf940509/p/5648003.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!