USACO Section 1.1 Broken Necklace

来源:互联网 发布:数字时钟的单片机编程 编辑:程序博客网 时间:2024/06/06 00:02

大意略。

/*ID:g0feng1LANG:C++TASK:beads*/#include <iostream>#include <fstream>#include <cstdlib>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <vector>#include <algorithm>using namespace std;FILE *fin = fopen("beads.in", "r");FILE *fout = fopen("beads.out", "w");const int maxn = 360;char buf[maxn];int n;void read_case(){fscanf(fin, "%d %s", &n, buf);//scanf("%d %s", &n, buf);}int cal(){int len = strlen(buf);int ans = 0;for(int i = 0; i < n; i++){int count = 0;int j = i%n, k = (i-1+n)%n;while(count < n && buf[j] == 'w') { count++; j = (j+1)%n; }char c = buf[j];while(count < n && (buf[j] == c || buf[j] == 'w')) { count++, j = (j+1)%n; }while(count < n && buf[k] == 'w') { count++; k = (k-1+n)%n; }c = buf[k];while(count < n && (buf[k] == c || buf[k] == 'w')) { count++; k = (k-1+n)%n; }ans = max(ans, count);}return ans;}void solve(){read_case();int ans = cal();fprintf(fout, "%d\n", ans);//printf("%d\n", ans);}int main(){solve();return 0;}


原创粉丝点击