KakaoTalk_20190606_001802318.png
  • 246x0w
Welcome
Curriculum
Install&Go
Board
실제 작동 상태를 확인하려면 라이브 사이트로 이동하세요.
  • 카테고리
  • 전체 게시물
  • 내 게시물
im020526
2020년 7월 11일

200711

게시판: 소스 코드 제출

/*

#include <iostream>

#include <vector>

using namespace std;

vector<vector<char> > v;

vector<vector<char> > v2;

vector<vector<int> > vv;

vector<char> XX;

vector<char> YY;

int F=0,R=0;


void func1 ()

{

int num=0,j;

int x = XX[F];

int y = YY[F];

F++;


if(v2[x][y]=='1')

return;

v[x][y]='O';


num=0;

for(int i=-1; i<=1; i++)

{

for(int j=-1; j<=1; j++)

{

if(x+i>=0 && y+j>=0 && x+i<9 && y+j<9)

{

if(v2[x+i][y+j]=='1')

num++;

}

}

}

if(num>0)

{

v[x][y]=num+'0';

return;

}


num=0;

for(int i=-1; i<=1; i++)

{

for(j=-1; j<=1; j++)

{

if(x+i>=0 && y+j>=0 && x+i<9 && y+j<9)

{

if(v2[x+i][y+j]=='1')

num++;

if(v[x+i][y+j]!='O' && v[x+i][y+j]=='_' && num==0)

{

XX.push_back(i+x);

YY.push_back(j+y);

R++;

}

}

}


}

v[x][y]=(num+'0');

}


int main()

{


char num;

vector<char> v1;


for(int i=0; i<9; i++)

{

v1.clear();

for(int j=0; j<9; j++)

{

cin>>num;

v1.push_back(num);

}

v2.push_back(v1);

}


int x,y;

cin >> x >> y;

x--;

y--;


if(v2[x][y]=='1')

{

for(int i=0; i<9; i++)

{

for(int j=0; j<9; j++)

{

if(i==x && j==y)

cout<<"-1 ";

else

cout<<"_ ";

}

cout<<endl;

}

return 0;

}


XX.push_back(x);

YY.push_back(y);

R++;


for(int i=0; i<9; i++)

{

vector<char> vv;

for(int j=0; j<9; j++)

{

vv.push_back('_');

}

v.push_back(vv);

}


while(F!=R)

{

func1();

}


for(int i=0; i<9; i++)

{

for(int j=0; j<9; j++)

{

cout<<v[i][j]<<' ';

}

cout<<endl;

}

}

*/

#include <iostream>

#include <vector>

using namespace std;

vector<vector<int> > ans;

int win=0,X,Y;

int cnt=0,a,b;


void dfs(int t, int x, int y)

{

if(ans[x][y]==ans[x][y+1])

{

cnt++;

dfs(t,x,y,0,1);

}

if(ans[x][y]==ans[x+1][y-1])

{

cnt++;

dfs(t,x,y,1,-1);

}

if(ans[x][y]==ans[x+1][y])

{

cnt++;

dfs(t,x,y,1,0);

}

if(ans[x][y]==ans[x+1][y+1])

{

cnt++;

dfs(t,x,y,1,1);

}

if(cnt==5)

{

win=t;

X=x;

Y=y;

cout<<'d'<<endl;

return;

}

}


void fi()

{

cnt=0;

for(int i=0; i<19; i++)

{

for(int j=0; j<19; j++)

{

if(ans[i][j]==1)

dfs(1,i,j);

if(ans[i][j]==2)

dfs(2,i,j);

}

}

}


int main()

{

int num;

vector<int> v1;


for(int i=0; i<19; i++)

{

v1.clear();

for(int j=0; j<19; j++)

{

cin>>num;

v1.push_back(num);

}

ans.push_back(v1);

}


while(win==0)

fi();


cout<<win<<endl;

cout<<X<<' '<<Y;

}


댓글 0개
0
댓글
댓글 0개
유사 게시물
  • 200711
  • 200711
  • 200711
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호