結果
問題 |
No.3261 yiwiy9 → yiwiY9
|
ユーザー |
|
提出日時 | 2025-09-06 13:06:33 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 6,481 bytes |
コンパイル時間 | 2,398 ms |
コンパイル使用メモリ | 209,968 KB |
実行使用メモリ | 7,720 KB |
最終ジャッジ日時 | 2025-09-06 13:07:22 |
合計ジャッジ時間 | 3,429 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 29 |
ソースコード
#if !__INCLUDE_LEVEL__ #include __FILE__ //------------------------------------------------------------------------------------- int main(){ ll h,w; cin>>h>>w; vector<string> s(h); rep(i,h){ cin>>s[i]; } vv(ans,h,w,char,'-'); rep(i,h){ rep(j,w){ string u1 = "yiwiy9"; bool ok = true; rep(k,6){ if(j + k < w){ if(s[i][j+k] != u1[k]){ ok = false; }} else{ ok = false; } } if(ok){ ans[i][j+4] = 'Y'; } u1 = "9yiwiy"; ok = true; rep(k,6){ if(j + k < w){ if(s[i][j+k] != u1[k]){ ok = false; }} else{ ok = false; } } if(ok){ ans[i][j+1] = 'Y'; } } } rep(i,h){ rep(j,w){ if(ans[i][j] == '-'){ cout << s[i][j]; } else{ cout << ans[i][j]; } } cout << endl; } } //------------------------------------------------------------------------------------- // unordered_set // priority_queue<ll, vector<ll>, greater<ll>> que; //__builtin_popcountll //./a.out < in.txt > out.txt #else #ifndef ONLINE_JUDGE #define _GLIBCXX_DEBUG//[]で配列外参照をするとエラーにしてくれる。上下のやつがないとTLEになるので注意 ABC311Eのサンプル4みたいなデバック中のTLEは防げないので注意 #endif #include <bits/stdc++.h> // #include <atcoder/all> // #include <boost/multiprecision/cpp_int.hpp> // namespace boo = boost::multiprecision; using namespace std; // using namespace atcoder; // using mint = atcoder::modint1000000007; //modint998244353 using pll = pair<long long, long long>; typedef long long ll; typedef long double ld; //#define _GLIBCXX_DEBUG #define INF 4LL*1000000000000000000 #define fi first #define se second #define R return 0 #define PB push_back #define stirng string #define NO cout<<"No"<<endl #define YES cout<<"Yes"<<endl #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define dou fixed << setprecision(20) #define ANS cout << ans << endl #define an cout << (ans ? "Yes" : "No") #define min(x,y) ((x) < (y) ? (x) : (y)) #define max(x,y) ((x) > (y) ? (x) : (y)) #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define vv(name, h, w, type, init) \ std::vector<std::vector<type>> name((h), std::vector<type>((w), (init))) #define vvv(name, d, h, w, type, init) \ std::vector<std::vector<std::vector<type>>> name((d), \ std::vector<std::vector<type>>((h), std::vector<type>((w), (init)))) #define vvvv(name, x, y, z, w, type, init) \ std::vector<std::vector<std::vector<std::vector<type>>>> name((x), \ std::vector<std::vector<std::vector<type>>>((y), \ std::vector<std::vector<type>>((z), std::vector<type>((w), (init))))) ll gcd(ll a, ll b){return b ? gcd(b, a % b) : a;} ll lcm(ll a,ll b){return a / gcd(a,b) * b;} long long TEN(int x) { return x == 0 ? 1 : TEN(x - 1) * 10; } template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } //ll mod = (ll)1000000007; ll mod = (ll)998244353; ll inv = 499122177; vector<ll> f1 = {-1,0,1,0}, f2 = {0,1,0,-1};//四方向 vector<ll> f3 = {0,-1,0,1,0,1,-1,1,-1}, f4 = {0,0,1,0,-1,1,1,-1,-1};//ハチ方向 #define vvl_kaiten(v) {ll n = size(v);vvl nx(n,vl(n));rep(i,n)rep(j,n)nx[j][n-i-1]=v[i][j];swap(nx,v);}//時計回りに90°回転 //#define vvl_kaiten(v) {ll n = size(v);vvl nx(n,vl(n));rep(i,n)rep(j,n)nx[n-j-1][i]=v[i][j];swap(nx,v);}//反時計周りに90°回転 #define vs_kaiten(v) {ll n = size(v);vs nx(n,string(n,'.'));rep(i,n)rep(j,n)nx[j][n-i-1]=v[i][j];swap(nx,v);}//文字列版 時計回りに90°回転 //#define vs_kaiten(v) {ll n = size(v);vs nx(n,string(n,'.'));rep(i,n)rep(j,n)nx[n-j-1][i]=v[i][j];swap(nx,v);}//文字列版 反時計周りに90°回転 #define yu_qurid(x,y) ((x)*(x)+(y)*(y))//ユークリッド距離 sqrtはしてないなので注意 #define mannhattan(x1,x2,y1,y2) (abs(x1-x2)+abs(y1-y2)) // マンハッタン距離 = |x1-x2|+|y1-y2| //@frest #define vc_cout(v) do { \ ll nn = v.size(); \ for(int i = 0; i < nn; i++){ \ cout << v[i] << " "; \ } \ cout << endl; \ } while(0) #define vv_cout(v) do { \ ll nn = v.size(); \ for(int i = 0; i < nn; i++){ \ for(int j = 0; j < v[i].size(); j++) \ cout << v[i][j] << " "; \ cout << endl; \ } \ } while(0) string to_oct(ll n, ll a){//n(10進数)をa進数に string s; while(n){ s = to_string(n%a) + s; n /= a; } return s; } bool bfs_est(ll xx1,ll yy1, ll hhh, ll www){ return (0<=xx1&&xx1<hhh&&0<=yy1&&www>yy1); } bool IsPrime(int num)//素数判定 { if (num < 2) return false; else if (num == 2) return true; else if (num % 2 == 0) return false; double sqrtNum = sqrt(num); for (int i = 3; i <= sqrtNum; i += 2) { if (num % i == 0) { return false; } } // 素数である return true; } ll powmod(ll x,ll y){ ll res=1; for(ll i=0;i<y;i++){ res=res*x % mod; } return res; } vector<ll> enumdiv(ll n) { //約数全列挙 vector<ll> S; for (ll i = 1; 1LL*i*i <= n; i++) if (n%i == 0) { S.push_back(i); if (i*i != n) S.push_back(n / i); } sort(S.begin(), S.end()); return S; } struct NewlineGuard {//プログラム終了時に改行 ~NewlineGuard() { cout << '\n'; } }; NewlineGuard guard; struct pair_hash {//unodered_mapの時に使う //unordered_map<pll,ll, pair_hash> mp; size_t operator()(const pair<ll,ll>& p) const { // 64bit のハッシュ合成 return hash<ll>()(p.first) ^ (hash<ll>()(p.second) << 1); } }; // struct Node { // mint val; // long long siz; // Node(mint v = 0, long long s = 0) : val(v), siz(s) {} // }; // // 二項演算 // Node op(Node x, Node y) { return Node(x.val + y.val, x.siz + y.siz); } // // 単位元 // Node e() { return Node(0, 0); } // /* 遅延評価のための構造体と、作用関数 mapping と、作用の合成関数 composition と、単位元関数 id() */ // struct Act { // mint b, c; // Act(mint b = 0, mint c = 0) : b(b), c(c) {} // }; // // 作用関数 // Node mapping(Act f, Node x) { // return Node(f.b * x.val + f.c * x.siz, x.siz); // } // // 作用の合成関数:g.b((f.b)x + f.c) + g.c = (g.b f.b)x + g.b f.c + g.c // Act composition(Act g, Act f) { // return Act(g.b * f.b, g.b * f.c + g.c); // } // // 作用の単位元 // Act id() { return Act(1, 0); } #endif