题解:UVA12801 Grandpa Pepe's Pizza
题目大意
一个周长为 c 的披萨,每个整数位置分别从 0 到 c-1。然后有 n 个橄榄,第 i 个橄榄放在 a_i 的位置。\
## 解题思路
在 $a_1$ 与 $a_2$ 中枚举分割披萨的起始位置,一个一个往后推。看看这段距离是否有且仅有一个橄榄即可。\
注意:**题目多测,需要清空数组**。
## 解题代码
```cpp
#include<bits/stdc++.h>
using namespace std;
int c,n;
int a[10010];
int main()
{
while(cin>>c>>n)
{
memset(a,0,sizeof(a));//多测清空
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
a[n+1]=c+a[1];
int k=c/n;//分割单位长度
bool b=0;
for(int i=a[1];i<a[2];i++)//枚举起点
{
int f=1,ss=i;
for(int j=2;j<=n+1;j++)
{
if(ss<a[j] && ss+k>=a[j])
{
ss+=k;
}
else
{
f=0;
break;
}
}
if(f==1)
{
b=1;
break;
}
}
if(b==1) cout<<"S\n";
else cout<<"N\n";
}
return 0;//完结撒花✿✿ヽ(°▽°)ノ✿
}
```