| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1370278 | eyadooz | Zoo (COCI19_zoo) | C++20 | 0 ms | 344 KiB |
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define sz(x) (int) (x).size()
#define endl '\n'
#define int long long
int ne[4]={0, 0, 1, -1}, nex[4]={1, -1, 0, 0};
main()
{
cin.tie(0) -> sync_with_stdio(0);
int n, m;
cin >> n >> m;
string a[n];
// for(int i = 0;i < n;i++) for(int j = 0;j < m;j++) val[i][j]=cnt, cnt++;
for(auto& i : a) cin >> i;
int dis[n+1][m+1]={};
for(int i=0;i<n;i++) for(int j=0;j<m;j++) dis[i][j]=INT_MAX;
queue<pii> q;
dis[0][0]=0;
q.push({0, 0});
int mx=0;
while(sz(q)) {
auto[curx, cury]=q.front();
q.pop();
for(int i = 0;i < 4;i++) {
int nx=curx+ne[i], ny=cury+nex[i];
if(nx>=n||nx<0||ny>=m||ny<0||a[nx][ny]=='*') continue;
if(dis[nx][ny]>dis[curx][cury]+(a[curx][cury]!=a[nx][ny]))
{
dis[nx][ny]=dis[curx][cury]+(a[curx][cury]!=a[nx][ny]);
mx=max(mx, dis[nx][ny]);
q.push({nx, ny});
}
}
}
cout << mx << endl;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
