求助5个点TEL,c语言
查看原帖
求助5个点TEL,c语言
587909
heyMoonquakes楼主2021/12/23 14:52
//NOI.1.12.6寻宝
#include<stdio.h>
#define N 10010
#define M 110
struct condition{
	int is;
	int num;
};
struct condition con[N*M];
int game(int n,int m,int start){
	int i,cnt=0,floor=start;
	int x,jsq,louti,k;
	for(i=0;i<n;i++){
		cnt+=con[floor].num;
		jsq=0;
		x=con[floor].num;
		louti=0;
		for(k=0;k<m;k++){
			if(con[(floor/m)*m+(floor+k)%m].is==1){
				louti++;
			}
		}
		if(x>louti){
			x%=louti;
		}
		while(1){
			if(con[floor].is==1){
				jsq++;
				if(jsq==x){
					break;
				}
			}
			floor=(floor/m)*m+(floor+1)%m;
		}
		floor+=m;
		if(cnt>=20123){
			cnt%=20123;
		}
	}
	return cnt;
}
int main(){
	int n,m,k,i,start; 
	scanf("%d %d",&n,&m);
	k=n*m;
	for(i=0;i<k;i++){
		scanf("%d %d",&con[i].is,&con[i].num);
	}
	scanf("%d",&start);
	int cnt=game(n,m,start); 
	printf("%d",cnt);
	return 0;
} 
2021/12/23 14:52
加载中...