链接:点击打开链接
题意:几个骰子,给出顶面的数,和正面能看到的两个面的数子(如图),要求上下两个骰子相接的面不能相同,求所给数据是否符合条件
代码:
#include <iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
struct node{
int x,y;
int t[5];
int sign;
}a[105];
int num[10];
int main(){
int n,top,i,j,sign;
while(cin>>n){
cin>>top;
for(i=0;i<n;i++)
cin>>a[i].x>>a[i].y;
sign=1;
for(i=1;i<n;i++){
if(a[i].x==top||a[i].x==7-top||a[i].y==top||a[i].y==7-top){
sign=0; //其实很简单只要第一个骰子下面每一个骰子确定的四个数
cout<<"NO"<<endl;//不与顶端数相同就可以,只要四周不出现顶端的数,无论
break; //怎么摆都可以使相接的面不相同
}
}
if(sign)
cout<<"YES"<<endl;
}
return 0;
}