UVA - 1587 Box
题目大意:给6个方块判断能否组成长方体
解题思路:排序后 暴力破解
#include <stdio.h>
#include <string.h>
int main() {
int a[6][2];
int q[3][2];
int t;
bool b;
int s;
while (scanf("%d%d", &a[0][0], &a[0][1]) != EOF) {
b = 0;
for (int i = 1; i < 6;i++)
scanf("%d%d", &a[i][0], &a[i][1]);
for (int i = 0;i < 6; i++)
if (a[i][0] > a[i][1]) {
t = a[i][0];
a[i][0] = a[i][1];
a[i][1] = t;
}
for (int j = 0; j < 5; j++)
for (int i = 0; i < 5 - j; i++)
if (a[i][0] > a[i+1][0]) {
t = a[i][0] ;
a[i][0] = a[i+1][0];
a[i+1][0] = t;
t = a[i][1];
a[i][1] = a[i+1][1];
a[i+1][1] = t;
}
// for (int i = 0; i < 6; i++)
// printf("%d %d\n", a[i][0], a[i][1]);
for (int j = 0; j < 5; j++)
for ( int i = 0; i < 5 - j; i++)
if (a[i][1] > a[i+1][1]) {
t = a[i][1];
a[i][1] = a[i+1][1];
a[i+1][1] = t;
t = a[i][0];
a[i][0] = a[i+1][0];
a[i+1][0] = t;
}
// for (int i = 0; i < 6; i++)
// printf("%d %d\n", a[i][0], a[i][1]);
if ((a[0][0] == a[1][0] && a[1][0] == a[2][0] && a[2][0] == a[3][0]) && ( (a[0][1] == a[1][1] && a[1][1] == a[4][0] && a[4][0] == a[5][0] && a[2][1] == a[3][1] && a[3][1] == a[4][1] && a[4][1] == a[5][1] )))
b = 1;
if (b) printf("POSSIBLE\n");
else printf("IMPOSSIBLE\n");
}
return 0;
}