結果
| 問題 |
No.1806 Rotating Golem
|
| ユーザー |
|
| 提出日時 | 2022-02-15 11:15:52 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 3,178 bytes |
| コンパイル時間 | 1,891 ms |
| コンパイル使用メモリ | 183,236 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-29 07:05:49 |
| 合計ジャッジ時間 | 2,648 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 13 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using Graph = vector<vector<int>>;
class extension {
//イテレーター省略
#define all(v) v.begin(),v.end()
//配列の読み取り
#define loadVector(n,v) for (int i = 0;i < n;i++) cin >> v[i]
//pair型配列の読み取り
#define loadVectors(n,v) for (int i = 0;i < n;i++) cin >> v[i].first >> v[i].second
//逆ソート
#define r_sort(v) sort(v.rbegin(),v.rend())
//long long省略
#define ll long long
//指定したkeyがmapに存在するかどうか
#define mapFind(m,x) m.find(x) != end(m)
//long doubleの省略
#define ld long double
//nをbase_number進数に変換する
public:string to_oct(int n, int base_number) {
string s;
while (n) {
s = to_string(n % base_number) + s;
n /= base_number;
}
return s;
}
//エラトステネスの篩
public:vector<int> Eratosthenes(int N)
{
std::vector<bool> is_prime(N + 1);
for (int i = 0; i <= N; i++)
{
is_prime[i] = true;
}
std::vector<int> P;
for (int i = 2; i <= N; i++)
{
if (is_prime[i])
{
for (int j = 2 * i; j <= N; j += i)
{
is_prime[j] = false;
}
P.emplace_back(i);
}
}
return P;
}
//文字列を分割する
vector<string> split(string str, char del) {
int first = 0;
int last = str.find_first_of(del);
vector<string> result;
while (first < str.size()) {
string subStr(str, first, last - first);
result.push_back(subStr);
first = last + 1;
last = str.find_first_of(del, first);
if (last == string::npos) {
last = str.size();
}
}
return result;
}
vector<ll> divisor(ll n) {
vector<ll> result;
set<ll> s;
for (ll i = 1; i <= sqrt(n); i++) {
if (n % i == 0) {
s.insert(i);
s.insert(n / i);
}
}
for (int x : s) {
result.push_back(x);
}
return result;
}
};
int main(void) {
// Your code here!
cin.tie(nullptr);
ios::sync_with_stdio(false);
//拡張クラスのインスタンス化
extension ex = extension();
string a,b;
cin >> a >> b;
map<string,int> m;
m["N"] = 360;
m["S"] = 180;
m["W"] = 270;
m["E"] = 90;
if (a == b) {
cout << 0 << endl;
return 0;
}
if (a == "N") {
if (b == "S") cout << 2 << endl;
if (b == "W") cout << 3 << endl;
if (b == "E") cout << 1 << endl;
}
if (a == "S") {
if (b == "N") cout << 2 << endl;
if (b == "W") cout << 1 << endl;
if (b == "E") cout << 3 << endl;
}
if (a == "W") {
if (b == "N") cout << 1 << endl;
if (b == "S") cout << 3 << endl;
if (b == "E") cout << 2 << endl;
}
if (a == "E") {
if (b == "N") cout << 3 << endl;
if (b == "W") cout << 2 << endl;
if (b == "S") cout << 1 << endl;
}
}