연속 구역 의 최대 길이(간단 한 검색)

제목 출처:[NWPU][2014][TRN][4]F 문제 검색
http://vjudge.net/contest/view.action?cid=49557#problem/F
작성 자:npufz
제목:"X,."매트릭스 로 한 영역 을 시 뮬 레이 션 하고 X 로 대상 의 일 부 를 표시 하 며"."로 공간 을 표시 하고 매 트릭 스 를 지정 한 후 X 점 의 좌 표를 지정 하여 이 대상 의 길이 와 X 와 연 결 된 X 는 모두 이 대상 에 속 하 며 인접 하지 않 은 X 를 찾 습 니 다.
            다른 대상 에 속 합 니 다.한 X 는 좌우 상하,왼쪽 위,왼쪽 아래,오른쪽 위,오른쪽 아래 의 X 와 인접 하고 행렬 은 최대 20*20 을 초과 하지 않 습 니 다.
코드:
#include 
#include 
#include 
#include 
using namespace std;
int main()
{ int a[23][23],i,j,w,h,w1,h1,x1,y1,sum,cd;
  char ch[23][23];
  typedef  pair wh;scanf("%d%d%d%d",&h,&w,&h1,&w1);
  while(h!=0&&w!=0&&h1!=0&&w1!=0)
  { for(i=0;i que;
  h1--;w1--;
  while(!que.empty()) que.pop();
  que.push(wh(h1,w1));a[h1][w1]=1;
   while(que.size())
   {wh0=que.front();que.pop();
    for(y1=-1;y1<2;y1++)
        for(x1=-1;x1<2;x1++)
    {h1=wh0.first+y1;
     w1=wh0.second+x1;
     if(h1>=0&&h1=0&&w1=0&&a[i-1][j]==1) cd--;
          if(j-1>=0&&a[i][j-1]==1) cd--;
          if(i+1

반성:시작 할 때 읽 은 데이터 행렬 의 문 구 는 SCANF(")입 니 다.  %c   ");마지막 으로 읽 은 빈 칸 이 있 기 때문에 모든 빈 칸 을 차 단 했 기 때문에 한 그룹의 데 이 터 를 입력 할 때 반환 값 이 없고 다음 그룹의 데이터 만 입력 할 때             반환 값 이 있 었 지만 마지막 에 0000 을 입력 했 기 때문에 A 가 떨 어 졌 습 니 다.

좋은 웹페이지 즐겨찾기