这这么TLE的?(50tps)
查看原帖
这这么TLE的?(50tps)
834624
MBL_JOKER楼主2024/5/3 21:36

也取模了,时间复杂度 O(nm)O(nm),最多 10610^6,怎么TLE的?

#include<bits/stdc++.h>
using namespace std;
int n,m;
bool door[10002][102];
int x[10002][102],sum[10002];
int num,z;
int main(){
/*	freopen("草稿.txt","r",stdin);
	freopen("初赛.txt","w",stdout);*/
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		for(int j=0;j<m;j++){
			scanf("%d%d",&door[i][j],&x[i][j]);
			sum[i]+=door[i][j];
		}
	}
	scanf("%d",&num);
	for(int i=1;i<n;i++){
		int s=(x[i][num])-1%sum[i]+1;
		z=(z+x[i][num])%20123;
		while(1){
//			printf("%d ",num);
			s-=door[i][num];
			if(!s){
				break;
			}
			num=(num+1)%m;
		}
//		puts("");
	}
	z+=x[n][num];
	printf("%d",z%20123);
	return 0;
}
2024/5/3 21:36
加载中...