您的位置:首页 > 编程语言

(挑战编程_2_5)Stack 'em Up

2013-05-30 10:24 417 查看
http://www.programming-challenges.com/pg.php?page=downloadproblem&probid=110205&format=html

#include <iostream>
#include <string>
#include <map>
#include <stdio.h>
#include <cstring>
#include <stdlib.h>
using namespace std;

int data[110][60];
int result[53];
int temp[53];

int main() {
int n;
//#ifndef ONLINE_JUDGE
//	freopen("C:/Users/cao/Desktop/算法/要看的书/算法/2挑战编程/input/1.inp", "r", stdin);
//	freopen("C:/Users/cao/Desktop/算法/要看的书/算法/2挑战编程/input/3.outp", "w", stdout);
//#endif
cin >> n;
while (n--) {
int k;
cin >> k;
int i, j;
for (i = 1; i <= k; i++) {
for (j = 1; j <= 52; j++) {
cin >> data[i][j];
}
}
getchar();
string input;

for (i = 1; i <= 52; i++) {
result[i] = i;
}
while (getline(cin, input)) {
if (input == "") break;
int t = atoi(input.c_str());
for (i = 1; i <= 52; i++) {
temp[i] = result[data[t][i]];
}
memcpy(result, temp, sizeof(result));
input = "";
}
for (i = 1; i <= 52; i++) {
int row, column;
row = (result[i] - 1) / 13;
column = (result[i] - 1) % 13;
if (column >= 0 && column <= 8) {
cout << column + 2;
} else {
switch (column) {
case 9:
cout << "Jack";
break;
case 10:
cout << "Queen";
break;
case 11:
cout << "King";
break;
case 12:
cout << "Ace";
break;
}
}
cout << " of ";
switch (row) {
case 0:
cout << "Clubs" << endl;
break;
case 1:
cout << "Diamonds" << endl;
break;
case 2:
cout << "Hearts" << endl;
break;
case 3:
cout << "Spades" << endl;
break;
}
}
if (n != 0) {
cout << endl;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐