結果
| 問題 |
No.2830 Don't Stop the Game
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-08-02 23:21:30 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 873 bytes |
| コンパイル時間 | 2,215 ms |
| コンパイル使用メモリ | 203,764 KB |
| 最終ジャッジ日時 | 2025-02-23 20:29:50 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 20 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:28:51: warning: narrowing conversion of ‘mpow(iv, (((long long int)m) - 2))’ from ‘ll’ {aka ‘long long int’} to ‘int’ [-Wnarrowing]
28 | X.emplace_back(t, vector<int>{mpow(iv, m - 2)});
| ~~~~^~~~~~~~~~~
main.cpp:28:51: warning: narrowing conversion of ‘mpow(iv, (((long long int)m) - 2))’ from ‘ll’ {aka ‘long long int’} to ‘int’ [-Wnarrowing]
main.cpp:32:51: warning: narrowing conversion of ‘mpow(((ll)N), (((long long int)m) - 2))’ from ‘ll’ {aka ‘long long int’} to ‘int’ [-Wnarrowing]
32 | X.emplace_back(t, vector<int>{mpow(N, m - 2)});
| ~~~~^~~~~~~~~~
main.cpp:32:51: warning: narrowing conversion of ‘mpow(((ll)N), (((long long int)m) - 2))’ from ‘ll’ {aka ‘long long int’} to ‘int’ [-Wnarrowing]
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll const m = 998244353;
ll mpow(ll a, ll n) {
return (n ? (mpow((a * a) % m, n >> 1) * (n & 1 ? a : 1ll)) % m : 1ll);
}
int main () {
int N = 30;
std::vector<pair<int, vector<int>>> X;
int t = 2;
vector<int> P(N);
for (int i = 0; i < N; i ++) {
for (int j = 0; j < N; j ++) {
P[j] = (i + j) % N + 1;
}
X.emplace_back(t, P);
}
t = 4;
for (int i = 1; i <= N; i ++) {
ll iv = 0;
ll pw = 1;
for (int j = 0; j < N; j ++) {
iv += pw;
iv %= m;
pw = (pw * i) % m;
}
X.emplace_back(t, vector<int>{mpow(iv, m - 2)});
}
t = 4;
for (int i = 1; i <= N; i ++) {
X.emplace_back(t, vector<int>{mpow(N, m - 2)});
}
cout << X.size() << endl;
for (auto& [t, v] : X) {
cout << t << endl;
for (auto& a : v) {
cout << a << (a == v.back() ? "" : " ");
}
cout << endl;
}
}