ちょっと考えればできる
問題概要
× のグリッドグラフの左上から右下への最短路が 1 つ与えられる。この最短路と辺を共有しない最短路を一つ求めよ (頂点で重なるのは OK)
制約
考えたこと
対角線に沿って反転すれば OK
#include <iostream> #include <sstream> #include <cstdio> #include <cstdlib> #include <cmath> #include <ctime> #include <cstring> #include <string> #include <vector> #include <stack> #include <queue> #include <deque> #include <map> #include <set> #include <bitset> #include <numeric> #include <utility> #include <iomanip> #include <algorithm> #include <functional> #include <unordered_map> using namespace std; int N; string S; void solve() { cin >> N >> S; string res; for (int i = 0; i < S.size(); ++i) { if (S[i] == 'E') res += "S"; else res += "E"; } cout << res << endl; } int main() { int case_num; cin >> case_num; for (int CASE = 0; CASE < case_num; ++CASE) { cout << "Case #" << CASE + 1 << ": "; solve(); } }