题解-P1200

本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

题面见: https://www.luogu.com.cn/problem/P1200

解法

这是一道水题

首先,题中提到,A为1,Z为26,所以我们先写一个简单的小程序

#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<int('Z');//题中均为大写字母
}

之后我们再一看输出

90

那么,Z的ASCII码为90,而题中Z为26

那么我们算一下

calc 90-26

得出

60

也就是说,只要对每个输入进来的字母减去60即可(如果你喜欢的话也可以用@)

剩下的读题即可

坑点

  • 相加而不是相乘
  • 变量设置必须为1,因为0乘任何数都等于0

源代码

#include <bits/stdc++.h>
using namespace std;
//处理字符串并输出结果(本来想写dispatch但太懒了而写了d的屑)
void d(string a,string b){
    int s=1,w=1;
    for(int i=0;i<a.length();i++){
        s*=int(a[i])-64;
    }
    for(int i=0;i<b.length();i++){
        w*=int(b[i])-64;
    }
    if(s%47 == w%47) printf("GOO\n");
    else printf("STAYY\n");
}
int main(){
    string ufo,team;
    cin>>ufo>>team;
    d(ufo,team);
    //防作弊,懂得都懂
}

本文作者:Caviar-X

本文链接: http://caviar-x.top/2021/05/slu-P1200/

评论