O(1e8)居然能TLE!!!
  • 板块题目总版
  • 楼主Alexandr
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/9/30 16:35
  • 上次更新2023/11/2 16:57:29
查看原帖
O(1e8)居然能TLE!!!
475532
Alexandr楼主2023/9/30 16:35

Link

code

#include<bits/stdc++.h> 
#define _rep(i,a,b) for(int i=(a);i<=(b);i++)
#define _antirep(i,a,b) for(int i=(a);i>=(b);i--)
using namespace std;
typedef long long lxl;
typedef double db;
const int N=1e2+5,mod=20123; 
int n,m,q,yy[10005][N];
struct node
{
	bool f;
	int val;
}e[10005][N];
int find(int x,int y,int p)
{
	int i=y-1;
	while(p)
	{
		i++; if(i==m) i=0;
		if(e[x][i].f) p--; 
	} 
	return i;
}
void dfs(int x,int y,int w)
{
	if(x>n)
	{
		printf("%d",w);
		exit(0);  
	}
	int Y=yy[x][y]; 
	dfs(x+1,Y,(w+e[x][y].val)%mod);
}
int main()
{   
	scanf("%d%d",&n,&m);
	int x=1,y=0;
	_rep(i,1,n*m)
	{
		scanf("%d%d",&e[x][y].f,&e[x][y].val);
		if(i%m==0) x++; 
		y++; if(y==m) y=0; 
	}  
	_rep(i,1,n) _rep(j,0,m) yy[i][j]=find(i,j,e[i][j].val);  
	scanf("%d",&q);
	dfs(1,q,0); 
	return 0;
}

2023/9/30 16:35
加载中...