QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#788892 | #9536. Athlete Welcome Ceremony | sjcx | Compile Error | / | / | C++14 | 1.9kb | 2024-11-27 18:39:24 | 2024-11-27 18:39:25 |
Judging History
This is the latest submission verdict.
- [2024-11-27 18:39:25]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [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.