1 条题解
-
2
这道题如果不用链表写请务必注意边界,以下是错误示范:
#include <bits/stdc++.h> using namespace std; int n,maxn=0; char a[351]; int main() { cin>>n>>a; for (int i=0;i<n;i++){ int j=i-1:n-1,lsum1=0,rsum1=0,lsum2=0,rsum2=0;//这里有亿点问题 while (a[j]!='r' && j!=i){ lsum1++; j--; if (j<0){ j=n-1; } } j=i; while (a[j]!='r' && j!=((i!=0)?i-1:n-1)){ rsum1++; j++; if (j>n-1){ j=0; } } j=i!=0?i-1:n-1; while (a[j]!='b' && j!=i){ lsum2++; j--; if (j<0){ j=n-1; } } j=i; while (a[j]!='b' && j!=((i!=0)?i-1:n-1)){ rsum2++; j++; if (j>n-1){ j=0; } } maxn=max(max(lsum1,lsum2)+max(rsum1,rsum2),maxn); } cout<<min(maxn,n); }
信息
- ID
- 6
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 45
- 已通过
- 6
- 上传者