#include <stdio.h>
#include <stdlib.h>
// 3차원 배열을 3중 포인터로 접근하도록
int main(void) {
int m[2][3][2] = { {{10,11},{20,21},{30,31}},
{{40,41},{50,51},{60,61}} };
int ***ppp = malloc(2*sizeof(int**));// = pa;
for (int k=0; k<2; ++k) {
ppp[k] = malloc(3*sizeof(int*));
for (int i=0; i<3; ++i) ppp[k][i] = m[k][i];
}
/*
ppp[0] = malloc(3*sizeof(int*));
for (int i=0; i<3; ++i) ppp[0][i] = m[0][i];
ppp[1] = malloc(3*sizeof(int*));
for (int i=0; i<3; ++i) ppp[1][i] = m[1][i];
*/
for (int i=0; i<2; ++i) {
for (int j=0; j<3; ++j) {
for(int k=0; k<2; ++k) printf("%d ", ppp[i][j][k]);
printf(",");
}
printf("\n");
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
// 카드를 아직 사용하지 않은 상태를 0
bool cards[2][4][13] = {};
// cards[0] 이 상대방 카드 한벌 정보
// cards[1] 이 내 카드 한벌 정보
int char2shape(char c) {
switch (c) {
case '0': return 0;
case '1': return 1;
case '2': return 2;
case '3': return 3;
default: return -1;
}
}
char shape2char(int i) {
switch (i) {
case 0: return '0';
case 1: return '1';
case 2: return '2';
case 3: return '3';
default: return '\0';
}
}
int char2value(char c) {
switch (c) {
case '2': return 0;
case '3': return 1;
case '4': return 2;
case '5': return 3;
case '6': return 4;
case '7': return 5;
case '8': return 6;
case '9': return 7;
case '0': return 8;
case 'J': return 9;
case 'Q': return 10;
case 'K': return 11;
case 'A': return 12;
default: return -1;
}
}
char value2char(int i) {
switch (i) {
case 0: return '2';
case 1: return '3';
case 2: return '4';
case 3: return '5';
case 4: return '6';
case 5: return '7';
case 6: return '8';
case 7: return '9';
case 8: return '0';
case 9: return 'J';
case 10: return 'Q';
case 11: return 'K';
case 12: return 'A';
default: return -1;
}
}
// 상대방이 먼저 하고 내가 나중에 카드를 낸다.
int main(void)
{
// "00" 다이아 10
// "03" 다이아 3
// "0K" 다이아 K
// "0J"
// "0Q"
// "0A"
char str[8];
for (int n=0; n<52; ++n) {
scanf("%s", str);
int yourshape = char2shape(str[0]);
int yourvalue = char2value(str[1]);
cards[0][yourshape][yourvalue] = true;
// 비기기 전략
int myshape = yourshape;
int myvalue = yourvalue;
str[0] = shape2char(myshape);
str[1] = value2char(myvalue);
str[3] = '\0';
cards[0][myshape][myvalue] = true;
printf("%s\n", str);
}
return 0;
}