zoukankan      html  css  js  c++  java
  • UVA 227

    这道题虽然思路简单,但是想要A却不简单,因为对格式的要求比较让人头疼

    #include <iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string>
    #include<string.h>
    #include<set>
    using namespace std;
    int main()
    {
      int n,si,sj,flag,visi;
      char m[6][8];
      int num=0;
      while(gets(m[0])){
            num++;
            flag=-1;
            visi=-1;
            if(strcmp(m[0],"Z")==0)
                return 0;
            gets(m[1]);
            gets(m[2]);
            gets(m[3]);
            gets(m[4]);
            for(int i=0;i<5;i++){
            for(int j=0;j<5;j++){
                if(m[i][j]==' '){
                    si=i;sj=j;
                     i=5;j=5;
                }
            }
            }
    
    
       char s [1000];
        bool exit_koro = false;
      while( !exit_koro&&gets(s)){
        for(int i=0;i<strlen(s);i++){
                if(s[i]=='0'||visi==1){
                    exit_koro=true;
                    break;
                }
    
            if(s[i]=='A'){
                if(si-1<0){
                visi=1;
              }
            else{
                    m[si][sj]=m[si-1][sj];
                    m[si-1][sj]=' ';
                    si=si-1;
            }
            }
            if(s[i]=='B'){
                    if(si+1>=5){
                       visi=1;
    
                    }
                    else{
                m[si][sj]=m[si+1][sj];
                m[si+1][sj]=' ';
                si=si+1;
    
                    }
            }
            if(s[i]=='R'){
                if(sj+1>=5){
                 visi=1;
                }
                else{
                m[si][sj]=m[si][sj+1];
                m[si][sj+1]=' ';
                sj=sj+1;
                }
            }
            if(s[i]=='L'){
                if(sj-1<0){
                  visi=1;
    
                }
                else{
                m[si][sj]=m[si][sj-1];
                m[si][sj-1]=' ';
                sj=sj-1;
    
                }
            }
    
        }
      }
             if(num>1)
              printf("
    ");
            if(visi==-1){
            printf("Puzzle #%d:
    ",num);
            for(int i=0;i<5;i++){
               printf ("%c %c %c %c %c
    ",m[i][0],m[i][1],m[i][2],m[i][3],m[i][4]);
            }
        }
       else{
             printf("Puzzle #%d:
    ",num);
                  printf("This puzzle has no final configuration.
    ");
    
        }
        //打出空行!!
    
    
      }
    
       return 0;
         }
  • 相关阅读:
    魔兽争霸3 视野插件
    使用MS08-067 漏洞攻击xp靶机
    CentOS 7 安装Nginx
    给linux系统添加系统调用
    树莓派3b aarch64 cpu性能测试
    树莓派3b 安装arch linux 2
    树莓派3b 安装arch linux 1
    远程线程注入 CreateRemoteThread 返回NULL
    go mod 相关
    给 Windows 的终端配置代理
  • 原文地址:https://www.cnblogs.com/wintersong/p/5069173.html
Copyright © 2011-2022 走看看