codeforces 655A A. Amity Assessment(水题)

题目链接:

A. Amity Assessment

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Bessie the cow and her best friend Elsie each received a sliding puzzle on Pi Day. Their puzzles consist of a 2 × 2 grid and three tiles labeled ‘A‘, ‘B‘, and ‘C‘. The three tiles sit on top of the grid, leaving one grid cell empty. To make a move, Bessie or Elsie can slide a tile adjacent to the empty cell into the empty cell as shown below:

In order to determine if they are truly Best Friends For Life (BFFLs), Bessie and Elsie would like to know if there exists a sequence of moves that takes their puzzles to the same configuration (moves can be performed in both puzzles). Two puzzles are considered to be in the same configuration if each tile is on top of the same grid cell in both puzzles. Since the tiles are labeled with letters, rotations and reflections are not allowed.

Input

The first two lines of the input consist of a 2 × 2 grid describing the initial configuration of Bessie‘s puzzle. The next two lines contain a2 × 2 grid describing the initial configuration of Elsie‘s puzzle. The positions of the tiles are labeled ‘A‘, ‘B‘, and ‘C‘, while the empty cell is labeled ‘X‘. It‘s guaranteed that both puzzles contain exactly one tile with each letter and exactly one empty position.

Output

Output "YES"(without quotes) if the puzzles can reach the same configuration (and Bessie and Elsie are truly BFFLs). Otherwise, print "NO" (without quotes).

Examples

input

ABXCXBAC

output

YES

input

ABXCACBX

output

NO

Note

The solution to the first sample is described by the image. All Bessie needs to do is slide her ‘A‘ tile down.

In the second sample, the two puzzles can never be in the same configuration. Perhaps Bessie and Elsie are not meant to be friends after all...

题意:问给你两种状态问是否能由第一种状态转化成第二种;

思路:顺时针方向的顺序看是否符合;

AC代码:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    char a[5][3],b[3][3],ans1[5],ans2[5];
    scanf("%s",a[0]);
    scanf("%s",a[1]);
    scanf("%s",b[0]);
    scanf("%s",b[1]);
    int cnt=0,num=0;
    if(a[0][0]!=‘X‘)ans1[cnt++]=a[0][0];
    if(a[0][1]!=‘X‘)ans1[cnt++]=a[0][1];
    if(a[1][1]!=‘X‘)ans1[cnt++]=a[1][1];
    if(a[1][0]!=‘X‘)ans1[cnt++]=a[1][0];
    if(b[0][0]!=‘X‘)ans2[num++]=b[0][0];
    if(b[0][1]!=‘X‘)ans2[num++]=b[0][1];
    if(b[1][1]!=‘X‘)ans2[num++]=b[1][1];
    if(b[1][0]!=‘X‘)ans2[num++]=b[1][0];
    int n=10;
    while(n--){
    if(ans1[0]==ans2[0]&&ans1[1]==ans2[1]&&ans1[2]==ans2[2])
    {
        cout<<"YES"<<"\n";
        return 0;
    }
    else
    {
        char m=ans2[0];
        for(int i=0;i<3;i++)
        {
            ans2[i]=ans2[i+1];
        }
        ans2[2]=m;
    }
    }
    cout<<"NO"<<endl;
    return 0;
}
时间: 2024-10-15 22:27:05

codeforces 655A A. Amity Assessment(水题)的相关文章

CodeForces 707A Brain&#39;s Photos (水题)

题意:给一张照片的像素,让你来确定是黑白的还是彩色的. 析:很简单么,如果有一种颜色不是黑白灰,那么就一定是彩色的. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #include <cmath> #include <iostream> #i

codeforces 710A A. King Moves(水题)

题目链接: A. King Moves 题意: 给出king的位置,问有几个可移动的位置; 思路: 水题,没有思路; AC代码: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <bits/stdc++.h> #include <stack> #include &l

codeforces 696A Lorenzo Von Matterhorn 水题

这题一眼看就是水题,map随便计 然后我之所以发这个题解,是因为我用了log2()这个函数判断在哪一层 我只能说我真是太傻逼了,这个函数以前听人说有精度问题,还慢,为了图快用的,没想到被坑惨了,以后尽量不用 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #

CodeForces 589I Lottery (暴力,水题)

题意:给定 n 和 k,然后是 n 个数,表示1-k的一个值,问你修改最少的数,使得所有的1-k的数目都等于n/k. 析:水题,只要用每个数减去n/k,然后取模,加起来除以2,就ok了. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #include <cma

CodeForces 518A Vitaly and Strings (水题,字符串)

题意:给定两个相同长度的字符串,让你找出一个字符串,字典序在两都之间. 析:这个题当时WA了好多次,后来才发现是这么水,我们只要把 s 串加上,然后和算数一样,该进位进位,然后再和 t 比较就行. 代码如下: #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <set> #include <cstring> #in

Codeforces gym 100685 C. Cinderella 水题

C. CinderellaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100685/problem/C Description Cinderella is given a task by her Stepmother before she is allowed to go to the Ball. There are N (1 ≤ N ≤ 1000) bottles with water in th

CodeForces 709C Letters Cyclic Shift (水题)

题意:给定一个字符串,让你把它的一个子串字符都减1,使得总字符串字典序最小. 析:由于这个题是必须要有一个字串,所以你就要注意这个只有一个字符a的情况,其他的就从开始减 1,如果碰到a了就不减了,如果到最后一位了还没开始减, 就减最后一位. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <c

Codeforces GYM 100114 B. Island 水题

B. Island Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Description On February 30th this year astronauts from the International Space Station flew over the Pacific Ocean and took a picture, on which was discovered a pr

CodeForces 712B Memory and Trident (水题,暴力)

题意:给定一个序列表示飞机要向哪个方向飞一个单位,让你改最少的方向,使得回到原点. 析:一个很简单的题,把最后的位置记录一下,然后要改的就是横坐标和纵坐标绝对值之和的一半. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #include <cmath>