Решение задачи Асфальтирование дорог с Codeforces

Без пояснения   Просмотров: 51


Город X состоит из n вертикальных и n горизонтальных бесконечных дорог, образующих n × n перекрестков. Дороги (как вертикальные, так и горизонтальные) при этом нумеруются с 1 до n, а перекрестки обозначаются номерами дорог, которые его образуют.

Песчаные дороги были давно признаны устаревшими, поэтому было принято решение об их асфальтировании. Для этого была нанята бригада рабочих и составлено расписание перекрестков, согласно которому должны асфальтироваться дороги.

Дорожные работы планируется провести за n 2 дней. В i-й день бригада приезжает на i-й в расписании перекресток, и, в случае, если ни одна из двух дорог, образующих перекресток, не была заасфальтирована, асфальтируют обе этих дороги. В противном случае бригада покидает перекресток, оставив дороги в прежнем состоянии до следующего дня.

По заданному расписанию работ на перекрестках сообщите номера дней, в которые будет заасфальтирована хотя бы одна дорога.

Код

#include<bits/stdc++.h>
using namespace std;
int n,x,y,a[100],b[100];
int main()
{
	cin>>n;
	for(int i=1;i<=n*n;i++)
	{
		cin>>x>>y;
		if(!a[x]&&!b[y])
		{
			a[x]=1;
			b[y]=1;
			cout<<i<<' ';
		}
	}
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться