結果
| 問題 |
No.3261 yiwiy9 → yiwiY9
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-09-06 13:22:45 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 6,481 bytes |
| コンパイル時間 | 2,706 ms |
| コンパイル使用メモリ | 208,640 KB |
| 実行使用メモリ | 7,720 KB |
| 最終ジャッジ日時 | 2025-09-06 13:23:13 |
| 合計ジャッジ時間 | 3,376 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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