1 条题解

  • 0
    @ 2025-8-24 22:53:15

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar zzhbpyy
    

    搬运于2025-08-24 22:53:15,当前版本为作者最后更新于2024-01-08 09:53:48,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目大意

    题目传送门

    解题思路

    第一眼看题目会发现完全没有思路。实质上所谓逆时针和顺时针只与转向的次数与方向有关。由于题目保证 John 一定走了一圈。毫无疑问一次左转和一次右转后行走方向不变。

    仔细观察得到:可统计左转(记为 1-1)和右转(记为 +1+1)的个数记为 ansans。若 ansans 大于 00 输出 CW,否则输出 CCW。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int ans;
    int init(char a,char b){
    	if(a=='N'&&b=='E')return 1;
    	if(a=='E'&&b=='S')return 1;
    	if(a=='S'&&b=='W')return 1;
    	if(a=='W'&&b=='N')return 1;
    	return -1;
    }
    signed main(){
    	int n;
    	string s;
    	cin>>n;
    	while(n--){
    		ans=0;
    		cin>>s;
    		for(int i=1;i<s.length();i++){
    			if(s[i-1]!=s[i])//与前一个字符不同再判定转弯方向
    			ans+=init(s[i-1],s[i]);
    		}
    		if(ans>0)cout<<"CW\n";
    		else cout<<"CCW\n";
    	}
    }
    
    • 1

    信息

    ID
    9519
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者