제출 #425265

#제출 시각아이디문제언어결과실행 시간메모리
425265vanicAliens (IOI16_aliens)C++14
4 / 100
1 ms296 KiB
#include "aliens.h"
#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <cassert>

using namespace std;

typedef long long ll;

const int maxn=105;


int n, m, k;
bool bio[maxn][maxn];

void dfs(int x, int y){
//	cout << x << ' '<< y << endl;
	assert(x<m && y<m);
	if(bio[x][y]){
//		cout << "bio" << endl;
		return;
	}
	bio[x][y]=1;
	if(x==y){
//		cout << "vracam" << endl;
		return;
	}
//	cout << "nastavljam " << x <<' ' << y << endl;
	dfs(x+1, y);
//	cout << "nastavljam " << x <<' ' << y << endl;
	dfs(x, y-1);
}

void dfs2(int x, int y){
	assert(x<m && y<m);
	if(bio[x][y]){
		return;
	}
	bio[x][y]=1;
	if(x==y){
		return;
	}
	dfs2(x-1, y);
	dfs2(x, y+1);
}

ll take_photos(int nn, int mm, int kk, vector < int > r, vector < int > c){
	n=nn;
	m=mm;
	k=kk;
	for(int i=0; i<n; i++){
		dfs(min(r[i], c[i]), max(r[i], c[i]));
		dfs2(max(r[i], c[i]), min(r[i], c[i]));
	}
	ll pov=0;
	for(int i=0; i<m; i++){
		for(int j=0; j<m; j++){
			if(bio[i][j]){
				pov++;
			}
		}
	}
	return pov;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...