求助!12和16两个点死都过不去,要急哭了QWQ
查看原帖
求助!12和16两个点死都过不去,要急哭了QWQ
1007306
ARzy楼主2023/10/29 16:19

P1563

#include<bits/stdc++.h>
using namespace std;
const int MAXN=100001;
int chxi[MAXN];
char names[MAXN][11];
int main() {
	int n,m,i,j,s,c,ans=1;//s命令
	bool f1=true;//f1辨认输入
	scanf("%d%d",&n,&m);
	int p;
	for(i=1; i<=n-1; ++i) {
		if(f1) {
			scanf("%d",&chxi[i]);
		}
		p=0;
		for(j=1; j<=10; ++j) {
			cin>>names[i][j];
			if((names[i][j]=='0')||(names[i][j]=='1')) {
				if(names[i][j]=='0') {
					chxi[i+1]=0;
					f1=false;
					break;
				} else {
					chxi[i+1]=1;
					f1=false;
					break;
				}
			} else {
				++p;
				f1=true;
			}
		}
		names[i][0]=p;
	}
	if(f1) {
		scanf("%d",&chxi[n]);
	}
	p=0;
	for(j=1; j<=10; ++j) {
		cin>>names[n][j];
		if((names[n][j]=='0')||(names[n][j]=='1')) {
			if(names[n][j]=='0') {
				s=0;
				f1=false;
				break;
			} else {
				s=1;
				f1=false;
				break;
			}
		} else {
			++p;
		}
	}
	names[n][0]=p;
	for(i=1; i<=m; ++i) {
		if(f1) {
			scanf("%d",&s);
		}
		f1=true;
		scanf("%d",&c);
		if(chxi[ans]==0) {
			s==0?ans-=c:ans+=c;
			if(ans<=0) {
				ans+=n;
			}
			if(ans>n) {
				ans-=n;
			}
		} else {
			s==0?ans+=c:ans-=c;
			if(ans<=0) {
				ans+=n;
			}
			if(ans>n) {
				ans-=n;
			}
		}
	}
	for(i=1; i<=names[ans][0]; ++i) {
		cout<<names[ans][i];
	}
	return 0;
}
2023/10/29 16:19
加载中...