Wizard of OrzCodeForces-1467A

Wizard of OrzCodeForces-1467A

題名:

長さがnの配列があり、初期状態の各要素は0です。1秒後、配列内のすべての要素は+1になり、9の場合は0、つまり0〜9になります。ループし続けます。これで、開始後の任意の時点で任意の位置を選択でき、変更された位置の数はすぐに増加を停止し、そこからxの距離にある要素はx秒後に一時停止します(数は内で増加し続けます) x秒)。長さnが与えられた場合、n個の要素(先行ゼロを含む)で構成される最大数を見つけます。

回答:

規則性の質問の場合、規則性を探して最初の3桁が989であることを見つけるのは難しくありません。また、4桁目から始まるのは0〜9のサイクルです。

コード:

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
inline int read(){
    
    
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){
    
    if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);
   return s*w;
}
int main()
{
    
    
	int t;
	cin>>t;
	while(t--)
	{
    
    
		int n;
		cin>>n;
		if(n==1)cout<<9<<endl;
		else if(n==2)cout<<98<<endl;
		else 
		{
    
    
			cout<<9<<8<<9; 
			for(int i=0;i<n-3;i++)
			{
    
    
				cout<<i%10;
			}
			cout<<endl;
		}
	}
	return 0;
}
/*
888
989

8888
9890

88888
98901

8888888
98901
*/

おすすめ

転載: blog.csdn.net/qq_35975367/article/details/114096138