这道题考察的是字符串比较的问题,也就是我们平常所说的字符串比较的题,不过数据量很大,而且字符串有大量的重复,我只写了一个基本的算法,可惜超时了,因为有大量已经算出来的数据,不需要在计算,正在找好的算法。。。。。
点击打开链接
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47#include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm> #include<vector> #include<cstring> using namespace std; char a[1010]; char b[1010]; int is_win(char a, char b) { switch(a) { case 'R': if(b=='R') return 0; else if(b=='P') return -1; else if(b=='S') return 1; break; case 'P': if(b=='R') return 1; else if(b=='P') return 0; else if(b=='S') return -1; break; case 'S': if(b=='S') return 0; else if(b=='P') return 1; else if(b=='R') return -1; break; } } void compare(char *a,char *b, int num) { int m = strlen(a); int n = strlen(b); int red1, red2; red1 = red2 =0; for(int i=0; i<num; i++) { if(is_win(a[i%m],b[i%n])==1) red2 ++; else if(is_win(a[i%m],b[i%n])==-1) red1 ++; } printf("%d %dn",red1, red2); } int main() { int num; scanf("%d",&num); memset(a,'',sizeof(a)); memset(b,'',sizeof(b)); getchar(); gets(a); gets(b); compare(a,b,num); //system("pause"); return 0; }
最后
以上就是细心舞蹈最近收集整理的关于codeforce 很有意思的一道字符串比较的题的全部内容,更多相关codeforce内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复