• Codeforces Round #361 (Div. 2)


    A.   Codeforces 689A Mike and Cellphone

       

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <map>
     4 #include <vector>
     5 #include <functional>
     6 #include <string>
     7 #include <cstring>
     8 #include <queue>
     9 #include <stack>
    10 #include <set>
    11 #include <cmath>
    12 #include <cstdio>
    13 using namespace std;
    14 #define IOS ios_base::sync_with_stdio(false)
    15 #define TIE std::cin.tie(0)
    16 typedef long long LL;
    17 const double PI=4.0*atan(1.0);
    18 
    19 int n;
    20 bool board[6][6];
    21 char ch;
    22 int a[15];
    23 int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
    24 bool check()
    25 {
    26     int nx,ny;
    27     for(int i=0;i<4;i++){
    28         bool ov=false;
    29         for(int j=1;j<=n;j++){
    30             if(a[j]==0){
    31                 nx=4+dx[i]; ny=2+dy[i];
    32             }else{
    33                 nx=(a[j]-1)/3+1+dx[i];
    34                 ny=(a[j]-1)%3+1+dy[i];
    35             }
    36             if(!board[nx][ny]) ov=true;
    37         }
    38         if(!ov) return false;
    39     }
    40     return true;
    41 }
    42 int main()
    43 {
    44     while(~scanf("%d",&n)){
    45         memset(board,0,sizeof(board));
    46         getchar();
    47         for(int i=1;i<=n;i++){
    48             scanf("%c",&ch);
    49             a[i]=ch-'0';
    50         }
    51         getchar();
    52         for(int i=1;i<=9;i++)
    53             board[(i-1)/3+1][(i-1)%3+1]=true;
    54         board[4][2]=true;
    55         printf("%s
    ",check()?"YES":"NO");
    56     }
    57 }
    View Code

        自己的代码很冗长,以下forever97大神的代码,十分简短。

     1 #include <cstdio>
     2 using namespace std;
     3 char s[10000];
     4 int n,U,D,L,R;
     5 int main(){
     6     scanf("%d %s",&n,s);
     7     for(int i=0;i<n;i++){
     8         if(s[i]=='0')D=L=R=1;
     9         if(s[i]=='1'||s[i]=='4'||s[i]=='7')L=1;
    10         if(s[i]=='3'||s[i]=='6'||s[i]=='9')R=1;
    11         if(s[i]=='1'||s[i]=='2'||s[i]=='3')U=1;
    12         if(s[i]=='7'||s[i]=='9')D=1;
    13     }if(L&&R&&U&&D)puts("YES");
    14     else puts("NO");
    15     return 0;
    16 }
  • 相关阅读:
    录毛线脚本,直接手写接口最简洁的LoadRunner性能测试脚本(含jmeter脚本)
    LoadRunner回放乱码
    结构体练习(C)
    MongoDB在windows及linux环境下安装
    pycharm 快捷键
    倒置输入的整数(C、Python)
    mysql常用操作(测试必备)
    wireshark配合jmeter测试webservice接口
    子网掩码的作用
    java 获取对象的数据类型、数据类型转换
  • 原文地址:https://www.cnblogs.com/cumulonimbus/p/5718592.html
Copyright © 2020-2023  润新知