藍橋杯模擬題——長草問題
<p>【問題描述】
<br>小明有一塊空地,他將這塊空地劃分為 n 行 m 列的小塊,每行和每列的長度都為 1。
<br>小明選了其中的一些小塊空地,種上了草,其他小塊仍然保持是空地。
<br>這些草長得很快,每個月,草都會向外長出一些,如果一個小塊種了草,則它將向自己的上、下、左、右四小塊空地擴充套件,這四小塊空地都將變為有草的小塊。
<br>請告訴小明,k 個月後空地上哪些地方有草。
<br>【輸入格式】
<br>輸入的第一行包含兩個整數 n, m。
<br>接下來 n 行,每行包含 m 個字母,表示初始的空地狀態,字母之間沒有空格。如果為小數點,表示為空地,如果字母為 g,表示種了草。
<br>接下來包含一個整數 k。
<br>【輸出格式】
<br>輸出 n 行,每行包含 m 個字母,表示 k 個月後空地的狀態。如果為小數點,表示為空地,如果字母為 g,表示長了草。
<br>【樣例輸入】
<br>4 5
<br>.g...
<br>.....
<br>..g..
<br>.....
<br>2
<br>【樣例輸出】
<br>gggg.
<br>gggg.
<br>ggggg
<br>.ggg.
<br>【評測用例規模與約定】
<br>對於 30% 的評測用例,2 <= n, m <= 20。
<br>對於 70% 的評測用例,2 <= n, m <= 100。
<br>對於所有評測用例,2 <= n, m <= 1000,1 <= k <= 1000。
c程式(應該會超時)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int m,n;
char ground[1000][1000];
char color[1000][1000];
int main()
{
int k,i,j;
scanf("%d %d",&n,&m);
getchar();
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
scanf("%c",&ground[i][j]);
getchar();
}
scanf("%d",&k);
while(k--){
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
if(ground[i][j]=='g')
color[i][j]='1';
else
color[i][j]='0';
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
if(color[i][j]=='1')
{
if(((j-1)>=0)&&(ground[i][j-1]!='g'))
ground[i][j-1]='g';
if(((j+1)<m)&&(ground[i][j+1]!='g'))
ground[i][j+1]='g';
if(((i-1)>=0)&&(ground[i-1][j]!='g'))
ground[i-1][j]='g';
if(((i+1)<n)&&(ground[i+1][j]!='g'))
ground[i+1][j]='g';
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%c",ground[i][j]);
printf("\n");
}
}
相關文章
- 藍橋杯-長草(BFS)
- 藍橋杯-座次問題
- 藍橋杯-日期問題
- 【藍橋杯】計蒜客2017模擬賽A習題整理
- 藍橋杯真題
- 藍橋杯全排列專題
- 2013年藍橋杯真題
- TODO -藍橋杯2018年A組-付賬問題
- 藍橋杯省賽真題2013題解
- 藍橋杯例題-快速分揀
- 藍橋杯題目編號1265
- 藍橋杯真題:純質數
- 【計蒜客】2017藍橋杯模擬賽(四)
- 【題解】爬山 藍橋杯2024省B
- 【藍橋杯】練習題目彙總
- 2013藍橋杯題解c++A組C++
- Java藍橋杯14年第五題Java
- 藍橋杯刷題-乘積尾零
- 問題 1462: [藍橋杯][基礎練習VIP]Huffuman樹
- 藍橋杯 試題 歷屆試題 螞蟻感冒
- 藍橋杯2023年A組-試題B-有獎問答
- 2013藍橋杯題解c組C++C++
- 藍橋杯練習系統題目集
- 藍橋杯真題之錯誤票據
- 【藍橋杯考前突擊】第十一屆藍橋杯校賽模擬C/C++ 正整數序列C++
- 藍橋杯第五屆省賽題目及題解
- 藍橋杯
- 第十一屆藍橋杯大賽第二次模擬(軟體類)真題(做題筆記)筆記
- 【每週例題】藍橋杯 C++ 多數C++
- 藍橋杯2019年真題:字尾表示式
- 第九屆藍橋杯省賽C++A組 倍數問題(dfs)C++
- 藍橋杯競賽題目:”機器人繁殖“解析及題解機器人
- 【藍橋杯】試題 歷屆試題 剪格子(python解法+java解法)PythonJava
- 藍橋杯2023年A組-試題A-幸運數
- 藍橋杯題庫 BASIC-16 分解質因數
- [藍橋杯][2016年第七屆真題]冰雹數
- 2016藍橋杯省賽第七題剪郵票
- 藍橋杯練習試題程式碼及講解