UVA 10730 - Antiarithmetic?
/*
从一个给定的序列中 判断是否存在等差数列
方法 标记每个元素存在的位置,对元素从1到n进行循环 等差从1到m(m=i+j*2)循环 暴力解决
*/
#include<cstdio>
#include<cstring>
int n,num[10010];
int solve()
{
for(int i = 0; i < n; i++)
for(int j = 1; j+j+i < n; j++)
if(num[i]<num[i+j]&&num[i+j*2]>num[i+j])
{
puts("no");
return 0;
}
puts("yes");
}
int main()
{
while(scanf("%d:",&n)&&n)
{
int x;
for(int i = 0; i < n; i++)
{
scanf("%d",&x);
num[x] = i;
}
solve();
}
}
补充:综合编程 , 其他综合 ,