結果
問題 |
No.2000 Distanced Characters
|
ユーザー |
|
提出日時 | 2022-08-07 16:04:32 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 21 ms / 2,000 ms |
コード長 | 938 bytes |
コンパイル時間 | 1,890 ms |
コンパイル使用メモリ | 199,168 KB |
最終ジャッジ日時 | 2025-01-30 19:13:00 |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 13 |
ソースコード
typedef long long ll; typedef long double ld; #include <bits/stdc++.h> using namespace std; #define int long long signed main(){ string s; std::cin >> s; ll n = s.size(); vector<vector<ll>> al(26); vector<vector<ll>> d(26,vector<ll>(26)); vector<vector<ll>> r(26,vector<ll>(26,1e18)); for (int i = 0; i < n; i++) { ll now = s[i]-'a'; for (int j = 0; j < 26; j++) { if(al[j].size()>=1){ r[now][j] = min(r[now][j],i-al[j].back()); } } al[now].push_back(i); } for (int i = 0; i < 26; i++) { for (int j = 0; j < 26; j++) { std::cin >> d[i][j]; if(d[i][j]<=r[j][i]){ std::cout << "Y"; }else{ std::cout << "N"; } if(j<26-1){ std::cout << " "; } } std::cout << std::endl; } }