upc组队赛16 WTMGB【模拟】
WTMGB
题目链接
题目描述
YellowStar is very happy that the FZU Code Carnival is about to begin except that he has to prepare problems for it. Because the statement of each problem is written in English!
YellowStar types the statements slowly witb high error rate. You must notice that the previous word ’witb’ is wrong(the correct word is ’with’). But YellowStar feels too tired, so he thinks a word is the same as another word if the character at each position of the word is adjacent to the corresponding character of the other word on the keyboard. The keyboard is shown in the figure below:
When two characters on ther keyboard have intersections, they are considered to be adjacent. For example,’S’ is adjacent to ’W’,’E’,’A’,’D’,’Z’ and ’X’.
Now YellowStar asks you to write a program to check whether two strings are the same. Print ’Yes’ if they are the same, and ’No’ otherwise(without the quotes).
输入
Input is given from Standard Input in the following format:
S1
S2
Constraints
1 ≤ | S1 | = | S2 | ≤ 103
S1 and S2 consist only of upper-case English letters.
输出
Print one line denotes the answer.
样例输入
S
U
样例输出
No
题解
简单模拟 但我写的太长太慢了
代码
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define scac(x) scanf("%c",&x)
#define sca(x) scanf("%d",&x)
#define sca2(x,y) scanf("%d%d",&x,&y)
#define sca3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define scl(x) scanf("%lld",&x)
#define scl2(x,y) scanf("%lld%lld",&x,&y)
#define scl3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z)
#define pri(x) printf("%d\n",x)
#define pri2(x,y) printf("%d %d\n",x,y)
#define pri3(x,y,z) printf("%d %d %d\n",x,y,z)
#define prl(x) printf("%lld\n",x)
#define prl2(x,y) printf("%lld %lld\n",x,y)
#define prl3(x,y,z) printf("%lld %lld %lld\n",x,y,z)
#define ll long long
#define LL long long
inline ll read(){ll x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;}
#define read read()
#define pb push_back
#define mp make_pair
#define P pair<int,int>
#define PLL pair<ll,ll>
#define PI acos(1.0)
#define eps 1e-6
#define inf 1e17
#define INF 0x3f3f3f3f
#define MOD 998244353
#define mod 1e9+7
#define N 1000005
const int maxn=2000005;
string s1,s2;
int e[28][28];
void add(int a,int b)
{
e[a][b] = 1;
e[b][a] = 1;
}
void Init()
{
add('Q' - 'A','W' - 'A');
add('Q' - 'A','A' - 'A');
add('W' - 'A','E' - 'A');
add('W' - 'A','S' - 'A');
add('W' - 'A','A' - 'A');
add('E' - 'A','S' - 'A');
add('E' - 'A','R' - 'A');
add('E' - 'A','D' - 'A');
add('R' - 'A','T' - 'A');
add('R' - 'A','F' - 'A');
add('R' - 'A','D' - 'A');
add('T' - 'A','Y' - 'A');
add('T' - 'A','G' - 'A');
add('T' - 'A','F' - 'A');
add('Y' - 'A','U' - 'A');
add('Y' - 'A','H' - 'A');
add('Y' - 'A','G' - 'A');
add('U' - 'A','J' - 'A');
add('U' - 'A','I' - 'A');
add('U' - 'A','H' - 'A');
add('I' - 'A','O' - 'A');
add('I' - 'A','K' - 'A');
add('I' - 'A','J' - 'A');
add('O' - 'A','K' - 'A');
add('O' - 'A','L' - 'A');
add('O' - 'A','P' - 'A');
add('P' - 'A','L' - 'A');
add('A' - 'A','S' - 'A');
add('A' - 'A','Z' - 'A');
add('S' - 'A','D' - 'A');
add('S' - 'A','X' - 'A');
add('S' - 'A','Z' - 'A');
add('D' - 'A','F' - 'A');
add('D' - 'A','C' - 'A');
add('D' - 'A','X' - 'A');
add('F' - 'A','G' - 'A');
add('F' - 'A','V' - 'A');
add('F' - 'A','C' - 'A');
add('G' - 'A','H' - 'A');
add('G' - 'A','B' - 'A');
add('G' - 'A','V' - 'A');
add('H' - 'A','J' - 'A');
add('H' - 'A','N' - 'A');
add('H' - 'A','B' - 'A');
add('J' - 'A','K' - 'A');
add('J' - 'A','M' - 'A');
add('J' - 'A','N' - 'A');
add('K' - 'A','L' - 'A');
add('K' - 'A','M' - 'A');
add('Z' - 'A','X' - 'A');
add('X' - 'A','C' - 'A');
add('C' - 'A','V' - 'A');
add('V' - 'A','B' - 'A');
add('B' - 'A','N' - 'A');
add('N' - 'A','M' - 'A');
}
int main()
{
string s1,s2;
for(int i = 0; i<26;i++)
{
e[i][i] = 1;
}
Init();
cin >>s1 >> s2;
int flag =1 ;
for(int i = 0;i <s1.length();i++)
{
if(e[s1[i] - 'A'][s2[i] - 'A']) continue;
else{
flag = 0;
break;
}
}
if(flag ) cout << "Yes" <<endl;
else cout <<"No" <<endl;
return 0;
}
/*
5
1 6 9 8 3
2 5 6 7 9
*/
upc组队赛16 WTMGB【模拟】的更多相关文章
- upc组队赛16 Winner Winner【位运算】
Winner Winner 题目链接 题目描述 The FZU Code Carnival is a programming competetion hosted by the ACM-ICPC Tr ...
- upc组队赛16 GCDLCM 【Pollard_Rho大数质因数分解】
GCDLCM 题目链接 题目描述 In FZU ACM team, BroterJ and Silchen are good friends, and they often play some int ...
- upc组队赛16 Melody【签到水】
Melody 题目描述 YellowStar is versatile. One day he writes a melody A = [A1, ..., AN ], and he has a sta ...
- 10.16 NOIP模拟赛
目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...
- upc组队赛6 Progressive Scramble【模拟】
Progressive Scramble 题目描述 You are a member of a naive spy agency. For secure communication,members o ...
- upc组队赛3 Congestion Charging Zon【模拟】
Congestion Charging Zon 题目描述 Tehran municipality has set up a new charging method for the Congestion ...
- upc组队赛15 Lattice's basics in digital electronics【模拟】
Lattice's basics in digital electronics 题目链接 题目描述 LATTICE is learning Digital Electronic Technology. ...
- upc组队赛18 THE WORLD【时间模拟】
THE WORLD 题目链接 题目描述 The World can indicate world travel, particularly on a large scale. You mau be l ...
- upc 组队赛18 STRENGTH【贪心模拟】
STRENGTH 题目链接 题目描述 Strength gives you the confidence within yourself to overcome any fears, challeng ...
随机推荐
- Codeforces 1156E Special Segments of Permutation(单调栈)
可以用单调栈直接维护出ai所能覆盖到的最大的左右范围是什么,然后我们可以用这个范围暴力的去查询这个区间的是否有满足的点对,一个小坑点,要对左右区间的大小进行判断,只需要去枚举距离i最近的一段区间去枚举 ...
- angularjs calling order
Here's the calling order: app.config()app.run()directive's compile functions (if they are found in t ...
- HR面试总结
求职面试HR最欣赏的自我介绍 2015-02-25 来源:www.cnrencai.com 浏览:391 明明很有能力的你,在面试中却不能发挥出色?来看看是不是自我介绍环节出了问题. 回答面试题目 ...
- HDU 6613 Squrirrel 树形dp
题意:给你一颗树,你可以把这棵树上的一条边的边权变为0,现在让你选一个根,让所有点到这个点的最大距离尽量的小.如果有多个根的最大距离距离相同,输出编号最小的边. 思路:如果没有把边权变为0的操作,这个 ...
- Sass--混合宏的不足
混合宏在实际编码中给我们带来很多方便之处,特别是对于复用重复代码块.但其最大的不足之处是会生成冗余的代码块.比如在不同的地方调用一个相同的混合宏时.如: @mixin border-radius{ - ...
- Linux的启动SD卡的格式化方法
要在OMAP3530上运行Linux,首先要知道如何启动OMAP3530,并且将MLO,XDLR,UBOOT,UImage以及文件系统等镜像程序下载到OMAP3530的芯片中去. OMAP3530提供 ...
- grep正则 以.o结尾的文件
ls -l | grep *.o 查不出任何东西 . 代表一定有一个任意字符 * 重复零个到无穷多个前一个字符(所以需要前面有字符) 所以应该是 ls -l | grep '.*\.o' .*表示零个 ...
- javascript数组赋值操作的坑
描述:数组对象赋值,即arr1=[{},{},{}]这种数据结构的对象赋值,将arr1赋值给arr2:然后删除arr2里的元素 一.最常用的= arr2 = arr1; detect(val) { l ...
- JavaScript判断对象是否相等
实现一. var obj = {a:'a'},obj1 = {b:'b'},obj2 = {a:'a'};就是使用JSON.stringify()先把对象转化成字符串,这样就可以啦 console.l ...
- 接口上传base64编码图片
package com.*.util; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io. ...