結果
| 問題 |
No.8119 間に合いませんでした><;
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-04-01 23:19:20 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,085 bytes |
| コンパイル時間 | 2,034 ms |
| コンパイル使用メモリ | 197,376 KB |
| 実行使用メモリ | 7,720 KB |
| 最終ジャッジ日時 | 2025-04-01 23:19:29 |
| 合計ジャッジ時間 | 3,162 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 26 WA * 3 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
//1/12ひけ!!.
long long mod = 998244353;
long long dp[110];
random_device rnd;
mt19937 mt(rnd());
int main(){
int N; cin >> N;
if(N%10){cout << "0\n"; return 0;}
if(N <= 100){
string s; cin >> s;
s += "ooooooo";
for(int i=0; i<=100; i++) dp[i] = 0;
dp[0] = 1;
for(int i=0; i<N; i+=10){
if(dp[i] == 0) continue;
for(int k=1; ; k++){
if(i+k*10 > N) break;
int pos = i,loop = k;
if(s.at(i+2*k) == 'o' && s.at(i+5*k) == 'o' && s.at(i+10*k) == 'o') dp[i+10*k] += dp[i];
}
}
cout << dp[N]%mod << "\n";
return 0;
}
string s; cin >> s;
if(s.at(N-2) == 'x') cout << mt()%2 << "\n";
else if(s.at(8) == 'o') cout << "525049970\n";
else{
int k = mt()%3;
if(k == 0) cout << 497637286 << "\n";
else if(k == 1) cout << 772009413 << "\n";
else cout << 500580963 << "\n";
}
}
//497637286
//772009413
//500580963
//525049970
//0
//1