HDU ACM 1057 A New Growth Industry 簡單類比

來源:互聯網
上載者:User

標籤:c   c++   acm   演算法   編程   

題意:給一個天數N,求20*20方陣內細菌的變化情況。每次變化加上一個d[k],d數組有給定的16個數。k是某個格子它本身加上它上下左右的四個數。 簡單類比題。

分析:

#include<iostream>using namespace std;int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};char den[]=".!X#";int D[16];int map[20][20],tmp[20][20];void Fun(){int i,j,index,d,x,y;for(i=0;i<20;i++)for(j=0;j<20;j++){index=map[i][j];for(d=0;d<4;d++){x=i+dir[d][0];y=j+dir[d][1];if(x>=0&&x<20&&y>=0&&y<20)index+=map[x][y];}tmp[i][j]=map[i][j]+D[index];if(tmp[i][j]>3) tmp[i][j]=3;else if(tmp[i][j]<0) tmp[i][j]=0;}for(i=0;i<20;i++)for(j=0;j<20;j++)map[i][j]=tmp[i][j];}int main(){int T,day,i,j,k,t;cin>>T;for(t=1;t<=T;t++){cin>>day;for(i=0;i<16;i++) cin>>D[i];for(i=0;i<20;i++)for(j=0;j<20;j++)cin>>map[i][j];for(k=0;k<day;k++)Fun();            //類比for(i=0;i<20;i++){for(j=0;j<20;j++)cout<<den[map[i][j]];cout<<endl;}if(t<T) cout<<endl;}    return 0;}


HDU ACM 1057 A New Growth Industry 簡單類比

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.