老哥鞋鞋
by 2017zc @ 2018-09-03 20:13:30
```c
#include <bits/stdc++.h>
#define rit register int
using namespace std;
string day[10] =
{
"emmmm",
"Today is Monday.",
"Today is Tuesday.",
"Today is Wednesday.",
"Today is Thursday.",
"Today is Friday.",
"Today is Saturday",
"Today is Sunday",
};
int n, m, p, fake[21], w[101], err, g;
string say[101], name[101];
void judge(int x, int y)
{
if(fake[x] && fake[x] != y) err = 1;
else fake[x] = y;
}
int main()
{
ios::sync_with_stdio(false);
cin >> m >> n >> p;
for(rit i = 1; i <= m; ++i)
{
cin >> name[i];
}
for(rit i = 1; i <= p; ++i)
{
string a;
cin >> a;
a.erase(a.end() - 1);
for(rit j = 1; j <= m; ++j)
{
if(a == name[j])
{
w[i] = j;
}
}
getline(cin, say[i]);
say[i].erase(say[i].begin());
}
for(rit da = 1; da <= 7; ++da)
{
for(rit px = 1; px <= m; ++px)
{
err = 0;
memset(fake, 0, sizeof(fake));
for(rit i = 1; i <= p; ++i)
{
int who = w[i];
if(say[i] == "I am guilty.") judge(who, px == who ? 1 : -1);
if(say[i] == "I am not guilty.") judge(who, px == who ? -1 : 1);
for(rit j = 1; j <= 7; ++j)
if(say[i] == day[j])
judge(who, da == j ? 1 : -1);
for(rit j = 1; j <= m; ++j)
{
if(say[i] == name[j] + " is guilty.") judge(who, j == px ? 1 : -1);
if(say[i] == name[j] + " is not guilty.") judge(who, j == px ? -1 : 1);
}
}
int cnt = 0, ans = 0;
for(rit i = 1; i <= m; ++i)
{
if(fake[i] == 0) ans++;
if(fake[i] == -1) cnt++;
}
if(!err && cnt <= n && cnt + ans >= n)
{
if(g && px != g)
{
cout << "Cannot Determine";
return 0;
}
else g = px;
}
}
}
if(!g) cout << "Impssible";
else cout << name[g];
}
```
by G2018 @ 2018-10-05 13:31:05
我这个怎么getline改
by G2018 @ 2018-10-05 13:31:29
@[BriMon](/space/show?uid=56756)
by G2018 @ 2018-10-05 13:32:33
```cpp
getline(cin, say[i], '\r');
```
by BriMon @ 2018-10-05 14:05:45
@[G2018](/space/show?uid=138059)
by BriMon @ 2018-10-05 14:05:53
大佬,变成了60分@[BriMon](/space/show?uid=56756)
by G2018 @ 2018-10-06 13:15:40
@[BriMon](/space/show?uid=56756) 同问
by neverwave @ 2018-10-18 18:30:04
非常感谢!~~(论90如何炸成30)~~
by 安妮007 @ 2018-11-07 16:29:42