AcWing 1373. 两只奶牛
原题链接
简单
作者:
hansong
,
2023-01-26 01:05:48
,
所有人可见
,
阅读 147
#include<iostream>
using namespace std ;
int main()
{
char a[20][20] , c , f ;
int x1 , y1 , x2 , y2 , ans = 0 , dx[4] = { -1 , 0 , 1 , 0 } , dy[4] = { 0 , 1 , 0 , -1 };
for( int i = 0 ; i < 10 ; i ++ )
for( int j = 0 ; j < 10 ; j ++ )
{
cin >> a[i][j] ;
if( a[i][j] == 'C')
{
x1 = i ;
y1 = j ;
}
else if( a[i][j] == 'F' )
{
x2 = i ;
y2 = j ;
}
}
for( int dc = 0 ,df = 0 ; ans < 160000 ; )
{
if(a[x1+dx[dc]][y1+dy[dc]]=='*'||x1+dx[dc]<0||x1+dx[dc]>9||y1+dy[dc]<0||y1+dy[dc]>9)
dc = ( dc + 1 ) % 4 ;
else
{
x1 = x1 + dx[dc] ;
y1 = y1 + dy[dc] ;
}
if(a[x2+dx[df]][y2+dy[df]]=='*'||x2+dx[df]<0||x2+dx[df]>9||y2+dy[df]< 0||y2+dy[df]>9)
df = ( df + 1 ) % 4 ;
else
{
x2 = x2 + dx[df] ;
y2 = y2 + dy[df] ;
}
if( x1 == x2 && y1 == y2)
{
cout << ++ans ;
return 0 ;
}
else ans ++ ;
}
cout << 0 ;
return 0 ;
}