| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
poj 上过了,同样的代码贴九度oj死活过不了。#include<iostream>
#include<memory.h>
#include<vector>
#include<set>
using namespace std;
struct formula
{
set <int> left;
set <int> right;
char op;
int num;
};
int main()
{
int n = 0, k = 0;
while (cin >> n >> k)
{
int answer = 0;
int coins[1001];
memset(coins, 0, sizeof(coins));
formula form[101];
for (int i = 0; i < k; i++)
{
int nn = 0, temp;
char op;
cin >> nn;
form[i].num = nn;
for (int j = 0; j < 2 * nn; j++)
{
cin >> temp;
if (j < nn)
{
form[i].left.insert(temp);
}
else
{
form[i].right.insert(temp);
}
}
cin >> op;
form[i].op = op;
}
for (int i = 0; i < k; i++)
{
if (form[i].op == '>')
{
for (int j = 1; j <= n; j++)
{
if (form[i].left.count(j) != 0 && coins[j] != 1)
{
if (coins[j] != 2)coins[j] = 3;
else coins[j] = 4;
}
else if (form[i].right.count(j) != 0 && coins[j] != 1)
{
if (coins[j] != 3)coins[j] = 2;
else coins[j] = 4;
}
else
{
coins[j] = 1;
}
}
}
else if (form[i].op == '<')
{
for (int j = 1; j <= n; j++)
{
if (form[i].left.count(j) != 0 && coins[j] != 1)
{
if (coins[j] != 3)coins[j] = 2;
else coins[j] = 4;
}
else if (form[i].right.count(j) != 0 && coins[j] != 1)
{
if (coins[j] != 2)coins[j] = 3;
else coins[j] = 4;
}
else
{
coins[j] = 1;
}
}
}
else
{
for (int j = 1; j <= n; j++)
{
if (form[i].left.count(j) != 0 || form[i].right.count(j) != 0)
{
coins[j] = 1;
}
}
}
}
bool flag = true;
for (int i = 1; flag && i <= n; i++)
{
if (coins[i] == 2 || coins[i] == 3 || coins[i] == 0)
{
if (answer == 0) answer = i;
else flag = false;
}
}
if (flag) cout << answer << endl;
else if (answer == 0)
{
}
else cout << "0" << endl;
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator