题目不难,但是仍然要想清除;
易得赢得总数等于输的总数;
例如输入的为B、C、D
其次最大赢家数和最小赢家数一定为一组,因此,排好序,未知量只能是A或者E;即A和D一组或者B和E一组;然后分情况讨论满不满足即可;
// 扑克游戏.cpp : 定义控制台应用程序的入口点。
//
//#include "stdafx.h"
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int maxn = 10005;
struct node{
int x, y;
bool operator<( const node &a )const{
return x < a.x;
}
}edge[ maxn ];
//int _tmain(int argc, _TCHAR* argv[])
int main()
{
while( cin >> edge[ 0 ].x >> edge[ 0 ].y >> edge[ 1 ].x >> edge[ 1 ].y >> edge[ 2 ].x >> edge[ 2 ].y ){
if( !edge[ 0 ].x && !edge[ 0 ].y && !edge[ 1 ].x && !edge[ 1 ].y && !edge[ 2 ].x && !edge[ 2 ].y )
break;
sort( edge, edge + 2 );
int y = edge[ 1 ].x + edge[ 2 ].x - edge[ 0 ].y;
int x = edge[ 1 ].y + edge[ 2 ].y - edge[ 0 ].x;
if( edge[ 0 ].x + edge[ 1 ].x + edge[ 2 ].x + x != edge[ 0 ].y + edge[ 1 ].y + edge[ 2 ].y + y ){
x = edge[ 0 ].y + edge[ 1 ].y - edge[ 2 ].x;
y = edge[ 0 ].x + edge[ 1 ].x - edge[ 2 ].y;
}
cout << x << "-" << y << endl;
}
return 0;
}