>>674
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
static int trump[52];
int print_trump(int player){
    int i, cnt = 0;
    printf("%s\n", player > 0 ? "#player 1" : "#player 2");
#define hoge(str, start, end) \
    for(printf("%s :", str), i = start; i < end; i++) \
        if(trump[i] == player) printf("%3d", i%13 + 1), cnt++; \
    putchar('\n');
    hoge("spa", 0, 13); hoge("hea", 13, 26); hoge("clu", 26, 39); hoge("dia", 39, 52);
    return cnt;
}
int isput(int field, int turn){
    int i, min = 64;
    for(i = 0; i < 52; i++) if(trump[i] == turn && i%13 > field%13 && min%13 >= i%13) min = i;
    return min;
}
int main(void){
    int i, j, field = -1, turn = -1;
    for(i = 0; i < 26; i++) trump[i] = 1;
    for(i = 26; i < 52; i++) trump[i] = -1;
    srand((unsigned int)time(NULL));
#define swap(type, x, y) do{type tmp = x; x = y; y = tmp;}while(0)
    for(i = 1; j = rand()/(RAND_MAX + 1.0)*(i + 1), i < 52; i++) swap(int, trump[i], trump[j]);
    while((turn *= -1, printf("\n<%d> : %d\n", turn < 0 ? 1 : 2, field + 1), print_trump(1)) && print_trump(-1))
        if((field = isput(field, turn)) != 64) trump[field] = 0, field %= 13;
        else puts("pass"), field = -1;
    return 0;
}