Monday, May 2, 2016

UVa 11751 - Installing Diagnostic Software

// UVa 11751 - Installing Diagnostic Software
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;

struct par {
	int a, b;
};

bool operator <(par x, par y) {
	return x.b < y.b || (x.b == y.b && x.a < y.a);
}

par a[25001];

int main() {
	int m, n;
	while (cin >> n >> m && (n || m)) {
		for (int i = 0; i < m; i++) {
			cin >> a[i].a >> a[i].b;
			if (a[i].a > a[i].b) {
				int tmp = a[i].b;
				a[i].b = a[i].a;
				a[i].a = tmp;
			}
		}
		sort(a, a + m);
		bool taken[1000];
		memset(taken, false, sizeof(taken));
		for (int i = m - 1; i >= 0; i--) {
			if (!taken[a[i].b])
				taken[a[i].a] = true;
		}
		for (int i = 0; i < n; i++)
			if (taken[i])
				cout << "1";
			else
				cout << "0";
		cout << endl;
	}
	return 0;
}

No comments:

Post a Comment