#8750: 請問逾時怎麼解決??


crazytim (天邊)

學校 : 臺北市立成功高級中學
編號 : 35518
來源 : [36.229.95.202]
最後登入時間 :
2023-06-26 22:46:23
a597. 祖靈被榨乾了!!!!!!!! -- 成為祖靈的祖靈 | From: [111.240.22.95] | 發表日期 : 2014-04-06 19:45

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <sstream>
#include <queue>
using namespace std;
int h;
queue<int> bfs1;
queue<int> bfs2;
char p[502][502];

void paint(int a,int b)
{
if(p[a][b]=='J')
{
h++;
bfs1.push(a);
bfs2.push(b);
p[a][b]='X';
}
}
void jizz(int i,int j)
{
int A,B;
A=bfs1.front();
B=bfs2.front();
paint(A-1,B);
paint(A+1,B);
paint(A,B-1);
paint(A,B+1);
bfs1.pop();
bfs2.pop();
}



int main()
{
int m,n,i,j,a,b,c,max,u;
string s;
while(scanf("%d%d",&m,&n)==2)
{
for(i=0;i<n+2;i++)
{
p[0][i]='X';
p[n+1][i]='X';
p[i][0]='X';
p[i][n+1]='X';
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>p[i][j];
max=0;
c=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(p[i][j]=='J')
{
h=1;
p[i][j]='X';
bfs1.push(i);
bfs2.push(j);
while(bfs1.size()!=0 && bfs2.size()!=0)
jizz(i,j);
if(h>max)
max=h;
c++;
}
cout<<c<<" "<<max<<endl;
}


  return 0;
}

 
#10781: Re:請問逾時怎麼解決??


ltf0501 (ltfsjl)

學校 : 國立高雄師範大學附屬高級中學
編號 : 42052
來源 : [61.228.147.149]
最後登入時間 :
2024-04-01 23:17:13
a597. 祖靈被榨乾了!!!!!!!! -- 成為祖靈的祖靈 | From: [58.115.187.225] | 發表日期 : 2016-03-14 22:34

#include
#include
#include
#include
#include
#include
using namespace std;
int h;
queue bfs1;
queue bfs2;
char p[502][502];

void paint(int a,int b)
{
if(p[a][b]=='J')
{
h++;
bfs1.push(a);
bfs2.push(b);
p[a][b]='X';
}
}
void jizz(int i,int j)
{
int A,B;
A=bfs1.front();
B=bfs2.front();
paint(A-1,B);
paint(A+1,B);
paint(A,B-1);
paint(A,B+1);
bfs1.pop();
bfs2.pop();
}



int main()
{
int m,n,i,j,a,b,c,max,u;
string s;
while(scanf("%d%d",&m,&n)==2)
{
for(i=0;i
{
p[0][i]='X';
p[n+1][i]='X';
p[i][0]='X';
p[i][n+1]='X';
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>p[i][j];
max=0;
c=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(p[i][j]=='J')
{
h=1;
p[i][j]='X';
bfs1.push(i);
bfs2.push(j);
while(bfs1.size()!=0 && bfs2.size()!=0)
jizz(i,j);
if(h>max)
max=h;
c++;
}
cout<
}


  return 0;
}




 
ZeroJudge Forum