石头剪刀布问题主要是各个出法的考虑,除了繁了点没啥其他问题,只要考虑清楚就好。
#include<iostream>
using namespace std;
int n;
void competition()
{
int* a, * b, * c;
int money_a, money_b, money_c;
a = new int[n];
b = new int[n];
c = new int[n];
for (int i = 0; i < n; i++)
{
cin >> a[i] >> b[i] >> c[i];
}
money_a = 0;
money_b = 0;
money_c = 0;
for (int i = 0; i < n; i++)
{
if (a[i] != b[i] && b[i] != c[i] && a[i] != c[i])
{
}
else
{
if (a[i] == b[i] == c[i])
{
}
else
{
if (a[i] == b[i])
{
if (a[i] == 0)
{
if (c[i] == 1)
{
money_a = money_a + 1;
money_b = money_b + 1;
money_c = money_c - 2;
}
else
{
money_a = money_a - 1;
money_b = money_b - 1;
money_c = money_c + 2;
}
}
else
{
if (a[i] == 1)
{
if (c[i] == 0)
{
money_a = money_a - 1;
money_b = money_b - 1;
money_c = money_c + 2;
}
else
{
money_a = money_a + 1;
money_b = money_b + 1;
money_c = money_c - 2;
}
}
else
{
if (a[i] == 2)
{
if (c[i] == 0)
{
money_a = money_a + 1;
money_b = money_b + 1;
money_c = money_c - 2;
}
else
{
money_a = money_a - 1;
money_b = money_b - 1;
money_c = money_c + 2;
}
}
}
}
}
else
{
if (a[i] == c[i])
{
if (a[i] == 0)
{
if (b[i] == 1)
{
money_a = money_a + 1;
money_b = money_b - 2;
money_c = money_c + 1;
}
else
{
money_a = money_a - 1;
money_b = money_b + 2;
money_c = money_c - 1;
}
}
else
{
if (a[i] == 1)
{
if (b[i] == 0)
{
money_a = money_a - 1;
money_b = money_b + 2;
money_c = money_c - 1;
}
else
{
money_a = money_a + 1;
money_b = money_b - 2;
money_c = money_c + 1;
}
}
else
{
if (a[i] == 2)
{
if (c[i] == 0)
{
money_a = money_a + 1;
money_b = money_b - 2;
money_c = money_c + 1;
}
else
{
money_a = money_a - 1;
money_b = money_b + 2;
money_c = money_c - 1;
}
}
}
}
}
else
{
if (b[i] == c[i])
{
if (b[i] == 0)
{
if (a[i] == 1)
{
money_a = money_a - 2;
money_b = money_b + 1;
money_c = money_c + 1;
}
else
{
money_a = money_a + 2;
money_b = money_b - 1;
money_c = money_c - 1;
}
}
else
{
if (b[i] == 1)
{
if (a[i] == 0)
{
money_a = money_a + 2;
money_b = money_b - 1;
money_c = money_c - 1;
}
else
{
money_a = money_a - 2;
money_b = money_b + 1;
money_c = money_c + 1;
}
}
else
{
if (b[i] == 2)
{
if (a[i] == 0)
{
money_a = money_a - 2;
money_b = money_b + 1;
money_c = money_c + 1;
}
else
{
money_a = money_a + 2;
money_b = money_b - 1;
money_c = money_c - 1;
}
}
}
}
}
}
}
}
}
}
cout << money_a << endl;
cout << money_b << endl;
cout << money_c << endl;
}
int main()
{
cin >> n;
competition();
return 0;
}