QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#788892#9536. Athlete Welcome CeremonysjcxCompile Error//C++141.9kb2024-11-27 18:39:242024-11-27 18:39:25

Judging History

This is the latest submission verdict.

  • [2024-11-27 18:39:25]
  • Judged
  • [2024-11-27 18:39:24]
  • Submitted

answer

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<queue>
#include<random>
#include<ctime>
#include"inter.h"
using namespace std;
#define re int
#define ll long long
inline ll read(){
    ll x=0,ff=1;char c=getchar();
    while(c<'0'||c>'9'){if(c=='-')ff=-1;c=getchar();}
    while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c^'0');c=getchar();}
    return x*ff;
}
const int mn=1e9+7;
inline int md(int x){return x>=mn?x-mn:x;}
int f[302][302][302][3],n,q;
char c[305];
int main(){
	n=read();q=read();scanf("%s",c+1);int now=0;
	if(c[1]=='?'){f[1][0][0][0]=f[0][1][0][1]=f[0][0][1][2]=1;now=1;}
	else {f[0][0][0][c[1]-'a']=1;}
	for(re i=2;i<=n;i++){
		if(c[i]=='?'){
			now++;
			for(re j=0;j<now;j++){
				for(re l=0;l+j<now;l++){
					f[j+1][l][now-j-l-1][0]=md(f[j][l][now-j-l-1][1]+f[j][l][now-j-l-1][2]);
					f[j][l+1][now-j-l-1][1]=md(f[j][l][now-j-l-1][0]+f[j][l][now-j-l-1][2]);
					f[j][l][now-j-l][2]=md(f[j][l][now-j-l-1][1]+f[j][l][now-j-l-1][0]);
				}
			}
		}
		else {
			for(re j=0;j<=now;j++){
				for(re l=0;l+j<=now;l++){
					f[j][l][now-j-l][c[i]-'a']=md(md(f[j][l][now-j-l][0]+md(f[j][l][now-j-l][1]+f[j][l][now-j-l][2]))-f[j][l][now-j-l][c[i]-'a']+mn);
					for(re r=0;r<=2;r++)if(r!=c[i]-'a')f[j][l][now-j-l][r]=0;
				}
			}
		}
	}
	for(re i=0;i<=now;i++){
		for(re j=0;j<=now;j++){
			for(re l=0;l<=now;l++){
				f[i][j][l][0]=md(f[i][j][l][0]+md(f[i][j][l][1]+f[i][j][l][2]));
				if(i+j+l!=now)f[i][j][l][0]=0;
				if(j)f[i][j][l][0]=md(f[i][j][l][0]+f[i][j-1][l][0]);
				if(l)f[i][j][l][0]=md(f[i][j][l][0]+f[i][j][l-1][0]);
				if(j&&l)f[i][j][l][0]=md(f[i][j][l][0]+mn-f[i][j-1][l-1][0]);
			}
		}
	}
	int x,y,z,s;
	while(q--){s=0;
		x=read();y=read();z=read();
		for(re i=0;i<=x;i++){
			//cerr<<i<<" "<<y<<" "<<z<<" "<<f[i][y][z][0]<<endl;
			s=md(s+f[i][y][z][0]);
		}
		printf("%d\n",s);
	}
    return 0;
}

详细

answer.code:10:9: fatal error: inter.h: No such file or directory
   10 | #include"inter.h"
      |         ^~~~~~~~~
compilation terminated.