zoukankan      html  css  js  c++  java
  • HDU 1057A New Growth Industry

    题目描述很难懂,意思看懂了这个题并不难。

    大致的意思是再模拟细菌生长,周围密度大,生长就慢,密度小,生长就快。关键点在数组D,输出要有格式,第一次提交是PE,后来才发现还有个输出空行。

    直接上代码

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 const int DishSize = 25;
     6 const char SignTable[]=".!X#"; //简便输出
     7 int ol[DishSize][DishSize],no[DishSize][DishSize];
     8 
     9 int main() {
    10     int T,da;
    11     int d[20];
    12 
    13     //freopen("C:\CODE\in.txt", "r", stdin);
    14     scanf("%d",&T);
    15     while(T--) {
    16         scanf("%d",&da);
    17         for(int i=0; i<16; i++) {
    18             scanf("%d",&d[i]);
    19         }
    20 
    21         for(int i=0; i<20; i++) {
    22             for(int j=0; j<20; j++) {
    23                 scanf("%d",&ol[i][j]);
    24             }
    25         }
    26 
    27         while(da--) {
    28             int k=0;
    29 
    30             for(int i=0; i<20; i++) {
    31                 for(int j=0; j<20; j++) {
    32                     k=ol[i][j];
    33                     if(i>0)
    34                         k+=ol[i-1][j];
    35                     if(i<19)
    36                         k+=ol[i+1][j];
    37                     if(j>0)
    38                         k+=ol[i][j-1];
    39                     if(j<19)
    40                         k+=ol[i][j+1];
    41 
    42                     no[i][j]=ol[i][j]+d[k];
    43 
    44                     if(no[i][j]<0)
    45                         no[i][j]=0;
    46                     if(no[i][j]>3)
    47                         no[i][j]=3;
    48                 }
    49             }
    50             for(int i=0; i<20; i++) {
    51                 for(int j=0; j<20; j++) {
    52                     ol[i][j]=no[i][j];
    53                 }
    54             }
    55 
    56 
    57         }
    58 
    59         for(int i=0;i<20;i++){
    60             for(int j=0;j<20;j++){
    61                 printf("%c",SignTable[ol[i][j]]);
    62             }
    63             putchar('
    '); 
    64         }
    65 //还要输出空行
    66         if(T) 
    67             putchar('
    ');
    68     }
    69     return 0;
    70 }
    ---------------- 人们生成的最美好的岁月其实就是最痛苦的时候,只是事后回忆起来的时候才那么幸福。
  • 相关阅读:
    java_类承继其他类的内部类例子
    java_接口和抽象类的区别
    java_数组作缓存池的不可变类实例
    C++_归并排序(纯C版)
    C++_归并排序
    C++_快速排序(纯C版本)
    C++_快速排序
    C++_直接插入排序(纯C版)
    C++_直接插入排序
    自定义比较器的用法
  • 原文地址:https://www.cnblogs.com/livelihao/p/5157464.html
Copyright © 2011-2022 走看看