結果

問題 No.1292 パタパタ三角形
ユーザー nawawannawawan
提出日時 2020-11-20 22:24:53
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 58 ms / 2,000 ms
コード長 1,989 bytes
コンパイル時間 835 ms
コンパイル使用メモリ 91,312 KB
実行使用メモリ 12,928 KB
最終ジャッジ日時 2024-07-23 13:19:51
合計ジャッジ時間 1,860 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
#include <map>
#include <complex>
#include <set>
#include <tuple>
#include <utility>
using namespace std;
typedef pair<int, int> P;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
string S;
cin >> S;
set<P> s;
s.insert(P(0, 0));
int flag = 0;
vector<char> vec(3);
vec[0] = 3, vec[1] = 2, vec[2] = 1;
int x = 0, y = 0;
for(int i = 0; i < S.size(); i++){
if(flag == 0){
flag = 1;
if(vec[S[i] - 'a'] == 3){
x += 3;
y += 4;
for(int j = 0; j < 3; j++){
if(vec[j] == 1) vec[j] = 3;
else if(vec[j] == 2) vec[j] = 1;
else vec[j] = 2;
}
}
else if(vec[S[i] - 'a'] == 2){
x -= 3;
y += 4;
for(int j = 0; j < 3; j++){
if(vec[j] == 1) vec[j] = 2;
else if(vec[j] == 2) vec[j] = 3;
else vec[j] = 1;
}
}
else{
y -= 5;
}
}
else{
flag = 0;
if(vec[S[i] - 'a'] == 3){
x += 3;
y -= 4;
for(int j = 0; j < 3; j++){
if(vec[j] == 1) vec[j] = 3;
else if(vec[j] == 2) vec[j] = 1;
else vec[j] = 2;
}
}
else if(vec[S[i] - 'a'] == 2){
x -= 3;
y -= 4;
for(int j = 0; j < 3; j++){
if(vec[j] == 1) vec[j] = 2;
else if(vec[j] == 2) vec[j] = 3;
else vec[j] = 1;
}
}
else{
y += 5;
}
}
s.insert(P(x, y));
}
cout << s.size() << endl;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0