QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#648498 | #9435. Welcome to NPCAPC | Lucky_Luo | Compile Error | / | / | C++98 | 1.6kb | 2024-10-17 19:17:50 | 2024-10-17 19:17:51 |
Judging History
answer
#include <bits/stdc++.h>
#define fi first
#define se second
#define pb emplace_back
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int mo = 998244353;
int i, j, k, l, r, m, n, idx, ans[5007];
#define id(i, j) ((i)*7+(j))
struct mat
{
int c[49][49], op;
int* operator [] (const int&x) {return c[x];}
inline mat operator * (const mat&x)
{
mat res;
res.op = op;
for (int i=0; i<(op?1:49); i++) for (int j=0; j<49; j++) res.c[i][j] = 0;
for (int i=0; i<(op?1:49); i++) for (int k=0; k<49; k++) for (int j=0; j<49; j++)
{
res.c[i][j] += 1ll * c[i][k] * x.c[k][j] % mo;
if (res.c[i][j] >= mo) res.c[i][j] -= mo;
}
return res;
}
} f[32], t;
signed main()
{
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
// ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
f[0][id(0, 0)][id(0, 0)] = 52;
for (j=6; j; j--) f[0][id(0, j)][id(0, j)] = 51, f[0][id(0, j-1)][id(0, j)] = 1;
for (j=6; j; j--) f[0][id(j, 0)][id(j, 0)] = 51, f[0][id(j-1, 0)][id(j, 0)] = 1;
for (j=6; j; j--) for (k=6; k; k--) f[0][id(j, k)][id(j, k)] = 50, f[0][id(j-1, k)][id(j, k)] = f[0][id(j, k-1)][id(j, k)] = 1;
for (i=1; i<=30; i++) f[i] = f[i-1] * f[i-1];
int T; scanf("%d", &T);
vector <pair<int, int>> p;
for (i=1; i<=T; i++) scanf("%d", &n), p.pb(n, i);
sort(p.begin(), p.end());
int lst = 0;
for (t[0][0]=i=1; i<49; i++) t[0][i] = 0;
for (auto P:p)
{
n = P.fi;
for (i=30; ~i; i--) if ((n - lst) >> i & 1) t = t * f[i];
lst = n, ans[P.se] = t[0][48];
}
for (i=1; i<=T; i++) printf("%d\n", ans[i]);
return 0;
}
详细
answer.code: In function ‘int main()’: answer.code:39:30: error: ‘>>’ should be ‘> >’ within a nested template argument list 39 | vector <pair<int, int>> p; | ^~ | > > answer.code:4:12: error: ‘class std::vector<std::pair<int, int> >’ has no member named ‘emplace_back’ 4 | #define pb emplace_back | ^~~~~~~~~~~~ answer.code:40:49: note: in expansion of macro ‘pb’ 40 | for (i=1; i<=T; i++) scanf("%d", &n), p.pb(n, i); | ^~ answer.code:44:19: error: ‘P’ does not name a type 44 | for (auto P:p) | ^ answer.code:49:10: error: expected ‘;’ before ‘for’ 49 | } | ^ | ; 50 | for (i=1; i<=T; i++) printf("%d\n", ans[i]); | ~~~ answer.code:50:9: error: expected primary-expression before ‘for’ 50 | for (i=1; i<=T; i++) printf("%d\n", ans[i]); | ^~~ answer.code:49:10: error: expected ‘;’ before ‘for’ 49 | } | ^ | ; 50 | for (i=1; i<=T; i++) printf("%d\n", ans[i]); | ~~~ answer.code:50:9: error: expected primary-expression before ‘for’ 50 | for (i=1; i<=T; i++) printf("%d\n", ans[i]); | ^~~ answer.code:49:10: error: expected ‘)’ before ‘for’ 49 | } | ^ | ) 50 | for (i=1; i<=T; i++) printf("%d\n", ans[i]); | ~~~ answer.code:44:13: note: to match this ‘(’ 44 | for (auto P:p) | ^ answer.code:38:21: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 38 | int T; scanf("%d", &T); | ~~~~~^~~~~~~~~~