社区讨论

啊啊啊大佬求助!改空间直接从90分AC,大佬帮忙看下

P1076[NOIP 2012 普及组] 寻宝参与者 5已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lo8h4arh
此快照首次捕获于
2023/10/27 18:31
2 年前
此快照最后确认于
2023/10/27 18:31
2 年前
查看原帖
下面是90分代码:
CPP
#include <bits/stdc++.h>
using namespace std;
const int mod=20123;
struct node{
	int s,x;
};
int main(){
	int n,m,op,count=1,k=0,sum=0;
	scanf("%d%d",&n,&m);
	node f[10005][105]; //注意这里,空间改成10005*205就AC了?
	for(int i=1;i<=n;i++){
		for(int j=0;j<m;j++){
			scanf("%d%d",&f[i][j].s,&f[i][j].x);
			if(f[i][j].s==1)f[i][m].s++;
		}
	}
	scanf("%d",&op);
	while(count<=n){
		k=0;
		sum+=f[count][op].x;
		sum%=mod;
		for(int i=op;;i++){
			if(i==m)i=0;
			if(f[count][i].s==1)k++;
			if(k==(f[count][op].x-1)%f[count][m].s+1){
				op=i;
				break;
			}
		}
		count++;
	}
	cout<<sum;
	return 0;
}
题目数据说好的n<=10000,m<=100呢? (后来发现WA的点的数据确实m确实是100没超,但是为什么会WA?????) 求大佬指点迷津,万分感谢!!!

回复

6 条回复,欢迎继续交流。

正在加载回复...