题目解读:
*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
我:
int n;
char a, b; // 起始点和终止点
char c[4] = { 'v', '<', '^', '>' };
string result = "";
while (cin >> a >> b) {
cin >> n;
for (int i = 0; i < 4; i++) {
if (c[i] == a) {
char s = c[(i + n) % 4];
char f = c[abs((i - n)) % 4];
if (b == s && b == f) {
result = "undefined";
break;
}else if (b == s){
result = "cw";
break;
}
else if (b == f) {
result = "ccw";
break;
}
else {
result = "undefined";
break;
}
}
}
cout << result << endl;
}
大佬给的答案:
int n;
char a, b; // 起始点和终止点
char c[4] = { 'v', '<', '^', '>' };
while (cin >> a >> b) {
cin >> n;
// aa --> 顺时针旋转时,最终的位置
// bb --> 逆时针旋转时,最终的位置
// dd --> 起点在数组 c 中的位置
int aa, bb, dd;
for (int i = 0; i < 4; i++) {
if (c[i] == a) {
dd = i; // 确定起点位置
}
}
n = n % 4;
// 如果是顺时针旋转
aa = (dd + n) % 4;
// 如果是逆时针旋转
bb = (dd - n + 4) % 4;
if (c[aa] == b && c[bb] == b) {
cout << "undefine" << endl;
}
else if (c[aa] == b) {
cout << "cw" << endl;
}
else if (c[bb] == b) {
cout << "ccw" << endl;
}
}
总结:对比 了下
大佬:先确定旋转的起点,然后再根据旋转的次数 分别算出 顺和逆 旋转的终点,然后再对比。
我:我的思路也差不多,先找到那个数,然后再根据旋转次数 分别确定顺逆的终点位置,然后再对比。只不过我都在里面做了。显得很杂乱。