QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#713326#9536. Athlete Welcome CeremonyLnianCompile Error//C++202.6kb2024-11-05 19:00:222024-11-05 19:00:22

Judging History

This is the latest submission verdict.

  • [2024-11-05 19:00:22]
  • Judged
  • [2024-11-05 19:00:22]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

using i64 = long long;
using i128 = __int128;
using ull = unsigned long long;
#define pll pair<ll, ll>
#define pii pair<int, int>
#define vi vector<int>
#define fir(i, a, b) for (int i = a; i <= b; i++)
#define pqi priority_queue<int> // 优先队列

#define all(x) x.begin(), x.end()
#define pb push_back
#define mp make_pair
#define fi first
#define se second
// #define int long long

const int mod = 1e9 + 7;
void upd(int &a, int b)
{
    a += b;
    if (a >= mod)
        a -= mod;
}

int n, q;
int f[303][303][303][3];
int g[303][303][303];
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    std::cin >> n >> q;
    std::string s;
    std::cin >> s;
    if (s[0] == 'a' || s[0] == '?')
        f[1][1][0][0] = 1;
    if (s[0] == 'b' || s[0] == '?')
        f[1][0][1][1] = 1;
    if (s[0] == 'c' || s[0] == '?')
        f[1][0][0][2] = 1;

    for (int i = 1; i < n; i++)
    {
        for (int a = 0; a <= i; a++)
        {
            for (int b = 0; a + b <= i; b++)
            {
                for (int x = 0; x < 3; x++)
                {
                    if (s[i] == 'a' || s[i] == '?')
                        if (x != 0)
                        {
                            upd(f[i + 1][a + 1][b][0], f[i][a][b][x]);
                        }
                    if (s[i] == 'b' || s[i] == '?')
                        if (x != 1)
                        {
                            upd(f[i + 1][a][b + 1][1], f[i][a][b][x]);
                        }
                    if (s[i] == 'c' || s[i] == '?')
                        if (x != 2)
                        {
                            upd(f[i + 1][a][b][2], f[i][a][b][x]);
                        }
                }
            }
        }
    }

   int ca=0,cb=0,cc=0;
	for(int i=0;i<=n;i++)
		for(int j=0;i+j<=n;j++)
			for(int x=0;x<3;x++)
				upd(g[i][j][n-i-j],f[n][i][j][x]);
	for(int i=0;i<=n;i++)
		for(int j=0;j<=n;j++)
			for(int k=0;k<=n;k++)
				if(i) upd(g[i][j][k],g[i-1][j][k]);
	for(int i=0;i<=n;i++)
		for(int j=0;j<=n;j++)
			for(int k=0;k<=n;k++)
				if(j) upd(g[i][j][k],g[i][j-1][k]);
	for(int i=0;i<=n;i++)
		for(int j=0;j<=n;j++)
			for(int k=0;k<=n;k++)
				if(k) upd(g[i][j][k],g[i][j][k-1]);
	for(int i=0;i<n;i++)
	{
		if(s[i]=='a') ca++;
		if(s[i]=='b') cb++;
		if(s[i]=='c') cc++;
	}
	while(q--)
	{
		int x,y,z;
		cin>>x>>y>>z;
		x=min(n,x+ca);
		y=min(n,y+cb);
		z=min(n,z+cc);
		cout<<g[x][y][z]<<'\n';
	}
	return 0;
}
    return 0;
}

详细

answer.code:109:5: error: expected unqualified-id before ‘return’
  109 |     return 0;
      |     ^~~~~~
answer.code:110:1: error: expected declaration before ‘}’ token
  110 | }
      | ^