您的位置:首页 > 其它

(模拟)Codeforces Round #426 A. The Useless Toy

2017-07-31 11:06 387 查看
题目网址: Codeforces Round #426 A. The Useless Toy

题意分析:

题意:

给出一个东西初始的样子和翻转n次后的样子

问这个东西是顺时针n次得到还是逆时针n次得到还是无法确定

思路:

注意翻转周期为 4, 所以可以 n%=4

模拟, 顺时针翻转n次, 得到最终样子tmp1

逆时针翻转n次,得到最终样子tmp2

判断tmp1 是否等于tmp2 , 是则输出 undefined

否则判断哪个是最终样子

代码:

#include <bits/stdc++.h>

using namespace std;

char cw[5] = {'v', '<', '^', '>'};
char ccw[5] = {'v', '>', '^', '<'};

int main(int argc, char const *argv[])
{
char begin, end;
scanf("%c %c", &begin, &end);

int n;
scanf("%d", &n);
int s = 0;

for (int i = 0; i < 4; ++i)
{
if (cw[i] == begin)
{
s = i;
break;
}
}

n %= 4;
char tmp1 = begin;
for (int i = 0; i < n; ++i)
{
tmp1 = cw[(s + 1) % 4];
++s;
}

for (int i = 0; i < 4; ++i)
{
if (ccw[i] == begin)
{
s = i;
break;
}
}
char tmp2 = begin;
for (int i = 0; i < n; ++i)
{
tmp2 = ccw[(s + 1) % 4];
++s;
}

if (tmp2 == tmp1)
{
printf("undefined\n");
}
else if (tmp2 == end)
{
printf("ccw\n");
}
else if (tmp1 == end)
{
printf("cw\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codeforces