UVa1594
UVa-1594
分析:這個題其實是有漏洞的,數據太水,開始我遍歷500次便結束輸出LOOP,AC了,然而去翻了翻大神的博客,竟然
只需200次便可,這個題簡直水的可以。這個題基本是沒有太多技巧,就是設定一個函數判定是否滿足ZERO情況。
代碼如下:
#include <stdio.h>
#include <stdlib.h>
int a[20];
int sum(int n)//這個題唯一的技巧
{
?int i;
?for (i=0;i<n;i++)
??? if (a[i]!=0)? return 0;
? return 1;
}
int main()
{
?int t;
?scanf("%d",&t);
?while (t--)
?{
??int n;
??int i,f=1;//標志變量的設定
??scanf("%d",&n);
??for (i=0;i<n;i++)
??? scanf("%d",&a[i]);
??int ans=0;
??while (ans<=500)
??{
???int c=a[0];
???for (i=0;i<n-1;i++)
???? a[i]=abs(a[i]-a[i+1]);
???a[n-1]=abs( a[n-1]-c);
???if (sum(n)) {f=0;break;}
???ans++;
??}
??if (!f) printf("ZERO\n");
??else printf("LOOP\n");
?}
?return 0;
}
分析:這個題其實是有漏洞的,數據太水,開始我遍歷500次便結束輸出LOOP,AC了,然而去翻了翻大神的博客,竟然
只需200次便可,這個題簡直水的可以。這個題基本是沒有太多技巧,就是設定一個函數判定是否滿足ZERO情況。
代碼如下:
#include <stdio.h>
#include <stdlib.h>
int a[20];
int sum(int n)//這個題唯一的技巧
{
?int i;
?for (i=0;i<n;i++)
??? if (a[i]!=0)? return 0;
? return 1;
}
int main()
{
?int t;
?scanf("%d",&t);
?while (t--)
?{
??int n;
??int i,f=1;//標志變量的設定
??scanf("%d",&n);
??for (i=0;i<n;i++)
??? scanf("%d",&a[i]);
??int ans=0;
??while (ans<=500)
??{
???int c=a[0];
???for (i=0;i<n-1;i++)
???? a[i]=abs(a[i]-a[i+1]);
???a[n-1]=abs( a[n-1]-c);
???if (sum(n)) {f=0;break;}
???ans++;
??}
??if (!f) printf("ZERO\n");
??else printf("LOOP\n");
?}
?return 0;
}
總結
- 上一篇: matplotlib基础绘图命令之pie
- 下一篇: 黎曼ζ函数(中文维基百科)