solution-uva1594

iorit發表於2024-03-07

題解 UVA1594 【Ducci序列 Ducci Sequence】

原題

簡單模擬

值得壓行注意的是an和a1的減法

從頭到尾掃的話an-a1時a1的值已經被改變

那我們就可以一開始把a1的值存到an+1

程式碼

// 此處應有標頭檔案
int n,t;
int a[20];
bool check() // 檢測是否全0
{
	for(int i = 1;i <= n;i++)
		if( a[i] )
			return false;
	return true;
}
int main()
{
    cin >> t;
    while(t--)
    {
    	cin >> n;
    	for(int i = 1;i <= n;i++)
    		cin >> a[i];
    	int k = 1e3; // 1000
    	while(--k)
    	{
    		a[n + 1] = a[1];
    		for(int i = 1;i <= n;i++)
    			a[i] = abs( a[i] - a[i + 1] );
    		if( check() )
    			break;
		}
		if(!k)
			puts("LOOP");
		else
			puts("ZERO");
	}
    return 0;
}