ZOJ1051 A New Growth Industry

简介:
这道题就是读懂题目太费劲了,非要扯到什么DNA上去,其实就是简单的数组处理,和上下左右的加加,然后查表把所得值加到当前项上来,若越界则处理下。

复制代码
#include <iostream>
using namespace std;

const int  MAXNUM = 20;//培养皿是*20的大小
char SignTable[]=".!X#";//符号表  
int dish[MAXNUM][MAXNUM],res[MAXNUM][MAXNUM];   
int day,d[16];   

int main()   
{    
    int cases;//测试样例数  
    int i,j,k;  
    while (cin>>cases)
    {
        while (cases--)
        {   
            cin>>day; //培养天数
            //输入DNA序列信息
            for (k=0; k<16; ++k)
                cin>>d[k];
            //输入培养皿数据
            for (i=0; i<MAXNUM; ++i)   
                for (j=0; j<MAXNUM; ++j)   
                    cin>>dish[i][j];   
            while (day--)
            {   
                for (i=0; i<MAXNUM; ++i)   
                    for (j=0; j<MAXNUM; ++j)
                    {   
                        k = dish[i][j];  
                        //和上下左右的结合起来
                        if (i-1>=0) 
                            k += dish[i-1][j];   
                        if (i+1<MAXNUM) 
                            k += dish[i+1][j];   
                        if (j-1>=0)
                            k += dish[i][j-1];   
                        if (j+1<MAXNUM) 
                            k += dish[i][j+1];   
                        res[i][j] = dish[i][j]+d[k];   
                        //不能超过0~3的范围
                        if (res[i][j]>3)
                            res[i][j] = 3;   
                        if (res[i][j]<0)
                            res[i][j] = 0;   
                    }   
                memcpy (dish,res,sizeof(dish));   
            }   
            for (i=0; i<MAXNUM; ++i)
            {   
                for (j=0; j<MAXNUM; ++j)   
                    cout<<SignTable[dish[i][j]];   
                cout<<endl;   
            }   
            //样例之间有一个空行
            if (cases!=0) 
                cout<<endl;   
        } 
    }
    return 0;   
}
复制代码



本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2008/10/23/1318209.html,如需转载请自行联系原作者
目录
相关文章
UVa11714 - Blind Sorting
UVa11714 - Blind Sorting
62 0
UVa389 - Basically Speaking
UVa389 - Basically Speaking
41 0
The Preliminary Contest for ICPC China Nanchang National Invitational A题 PERFECT NUMBER PROBLEM
The Preliminary Contest for ICPC China Nanchang National Invitational A题 PERFECT NUMBER PROBLEM
78 0
|
机器学习/深度学习 人工智能
The Preliminary Contest for ICPC China Nanchang National Invitational I题 Max answer
The Preliminary Contest for ICPC China Nanchang National Invitational I题 Max answer
99 0
HDU-1057,A New Growth Industry(理解题意)
HDU-1057,A New Growth Industry(理解题意)
ZOJ - Summer 2018 - Contest 1 by SBconscious - Problems - 1001: Saber
ZOJ - Summer 2018 - Contest 1 by SBconscious - Problems - 1001: Saber
104 0
|
人工智能 Go
ZOJ 3635 Cinema in Akiba
题意:一群人到电影院看电影,该电影的门票计算比较特殊,如:甲第一个拿到1号门票则位置为1,乙第二个拿票,票号也是1,则位置为2,因为1号位置已经被甲占了,乙的位置为剩下位置中的1号位置。
125 0

热门文章

最新文章