zoukankan      html  css  js  c++  java
  • UVA 11520 Fill the Square(模拟)

    题目链接:https://vjudge.net/problem/UVA-11520

    这道题我们发现$nleq 10$,所以直接进行暴力枚举。

    因为根据字典序所以每个位置试一下即可,这样的复杂度不过也就是$O(26 imes n^2)$。

    注意此题中的输入输出有点bug,可以把每一行看成一个字符串进行输入输出(因为其中并没有空格)。

    AC代码:

     1 #include<cstdio>
     2 #include<iostream>
     3 
     4 using namespace std;
     5 
     6 int n;
     7 char g[15][15];
     8 
     9 int main(){
    10     int T;
    11     scanf("%d",&T);
    12     for(int kase=1;kase<=T;kase++){
    13         scanf("%d",&n);
    14         for(int i=0;i<n;i++) scanf("%s",g[i]);
    15         for(int i=0;i<n;i++){
    16             for(int j=0;j<n;j++){
    17                 if(g[i][j]=='.'){
    18                     for(char k='A';k<='Z';k++){
    19                         bool ok=1;
    20                         if(i>0&&g[i-1][j]==k) ok=0;
    21                         if(j>0&&g[i][j-1]==k) ok=0;
    22                         if(i<n-1&&g[i+1][j]==k) ok=0;
    23                         if(j<n-1&&g[i][j+1]==k) ok=0;
    24                         if(ok){ g[i][j]=k; break;}
    25                     }
    26                 }
    27             }
    28         }
    29         printf("Case %d:
    ",kase);
    30         for(int i=0;i<n;i++) printf("%s
    ",g[i]);
    31     }
    32     return 0;
    33 }
    AC代码
  • 相关阅读:
    Sqlite教程(1) SQLiteOpenHelper
    检查网络连接状态。
    GSON解译Json为DTO
    Okhttp教程 (1)
    HashMap的扩容算法
    回溯算法
    动态规划
    实现自旋锁
    Java堆
    垃圾回收算法总结
  • 原文地址:https://www.cnblogs.com/New-ljx/p/12301296.html
Copyright © 2011-2022 走看看