First verdict date: 2014-07-29
Last verdict date: 2016-12-20
Run Time: 0.000
Ranking (as of 2017-01-14): 239 out of 1233
Language: C++
/*
UVa 11926 - Multitasking
To build using Visual Studio 2012:
cl -EHsc -O2 UVa_11926_Multitasking.cpp
*/
#include <cstdio>
#include <cstring>
const int minutes_max = 1000000;
bool minutes[minutes_max + 1];
int main()
{
while (true) {
int n, m;
scanf("%d %d", &n, &m);
if (!n && !m)
break;
memset(minutes, 0, sizeof(minutes));
bool conflict = false;
while (n--) {
int st, et;
scanf("%d %d", &st, &et);
if (conflict)
continue;
for (int i = st; i < et; i++) {
if (minutes[i]) {
conflict = true; break;
}
else
minutes[i] = true;
}
}
while (m--) {
int st, et, ri;
scanf("%d %d %d", &st, &et, &ri);
if (conflict)
continue;
for (int i = 0; i <= minutes_max; i += ri) {
for (int j = i + st; j <= minutes_max && j < i + et; j++) {
if (minutes[j]) {
conflict = true; break;
}
else
minutes[j] = true;
}
if (conflict)
break;
}
}
puts(((conflict) ? "CONFLICT" : "NO CONFLICT"));
}
return 0;
}
No comments:
Post a Comment