第3个点没过,求助

P1203 [USACO1.1] 坏掉的项链 Broken Necklace

@[Jay142753869](/user/181506)
by Konnyaku_LXZ @ 2020-07-27 22:28:48


@[小灰](/user/246191) 我看看哈
by DitaMirika @ 2020-07-27 22:29:03


你试试这组: ``` 77 rwrwrwrwrwrwrwrwrwrwrwrwbwrwbwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwr ``` 输出应该为74,你的是72 我突然在CSP-J2当天早上做的这题啊
by DitaMirika @ 2020-07-27 22:33:26


带你改了几个地方,现在过了: ```cpp #include<cstdio> using namespace std; int n,ans=0; char a[10005]; int main (){ scanf ("%d",&n); scanf ("%s",a+1); for (int i=1;i<=n;i++) a[i+n]=a[i],a[i+2*n]=a[i]; for (int i=1;i<=2*n;i++){//1 int s=0; char x=a[i-1];//2 for (int j=i-1;j>=1;j--){//3 if (x==a[j]||a[j]=='w') s++; else if(x=='w')x=a[j],s++; else break; } x=a[i];//4 for (int j=i;j<=2*n;j++){//5 if (x==a[j]||a[j]=='w')s++; else if(x=='w')x=a[j],s++; else break; } if (s>ans) ans=s; } if (ans>n) ans=n; printf ("%d",ans); return 0; } ``` 注意第一个就是w的情况
by DitaMirika @ 2020-07-27 22:47:29


@[xyizd](/user/236862) 谢谢大佬
by mxzf @ 2020-07-30 19:17:35


@[Most_Ima](/user/236862) 为啥是74?我手算72来着……
by 林志艺 @ 2022-01-18 20:46:31


@[林志艺](/user/549911) 没有啊。 你就在左边的 $b$ 之前打断。 向左边一直可以收到右边的 $b$ 之前,共 $72$ 个。 向右边可以收到 $bw$,$2$ 个。 一共就是 $74$ 个。
by DitaMirika @ 2022-01-18 20:57:02


@[Most_Ima](/user/236862) 哦,悟了。能帮我看看我那个是什么问题吗?https://www.luogu.com.cn/discuss/399130
by 林志艺 @ 2022-01-18 21:02:38


|