結果

問題 No.3261 yiwiy9 → yiwiY9
ユーザー fepic_
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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


0