80分,两个点TLE,个人怀疑死循环
查看原帖
80分,两个点TLE,个人怀疑死循环
215915
lOpzIth楼主2021/10/1 23:17

RTRT

#include<bits/stdc++.h>
using namespace std;

int s,t,w,con[105],sum;
bool p=true;
char a[105];

void print()
{
	for(int i=1;i<=w;i++)
	{
		cout<<(char)(con[i]+96);
	}
	cout<<endl;
}

int main()
{
	
	cin>>s>>t>>w;
	for(int i=1;i<=w;i++)
	{
		cin>>a[i];
		con[i]=a[i]-96;
	}
	while(sum<5)
	{
		sum++;
		con[w]++;
		while(1)
		{
			if(con[0]>0)
			return 0;
			for(int i=w;i>=1;i--)
			{
				if(con[i]>t)
				{
					con[i]=con[i]-t;
					con[i-1]++;
				}
			}
			for(int i=1;i<=w-1;i++)
			{
				if(con[i]>=con[i+1])
				{
					p=false;
					//cout<<i<<" "<<i+1<<"    ";
				}
			}
			if(p)
			{
				print();
				break;
			}	
			p=true;
			con[w]++;
		}
		/*
		for(int i=1;i<=w;i++)
		{
			cout<<con[i]<<" ";
		}
		cout<<endl;
		*/
	}
	return 0;	
}
2021/10/1 23:17
加载中...