2015年1月11日 星期日

Codechef January Challenge 2015 Ranka

/*
    多多利用 噓手和提子
*/
#include <iostream>
#include <cstdio>

using namespace std;

int N;

int main()
{
    scanf("%d", &N);

    for(int i = 81; i >= 3; i--)
    {
        for(int j = 1; j < i; j++)
        {
            printf("%d %d\n", (j+8)/9, (j+8)%9+1);
            if( --N == 0 ) return 0;

            if( j+1 < i )
            {
                printf("0 0\n");
                if( --N == 0 ) return 0;
            }

        }

        printf("%d %d\n", (i+8)/9, (i+8)%9+1);
        if( --N == 0 ) return 0;
    }

    printf("1 2\n");
    if( --N == 0 ) return 0;

    printf("1 1\n");
    if( --N == 0 ) return 0;

    printf("1 2\n");
    if( --N == 0 ) return 0;

    printf("1 1\n");
    if( --N == 0 ) return 0;

    printf("0 0\n");
    if( --N == 0 ) return 0;

    for(int i = 3; i <= 11; i++)
    {
        printf("%d %d\n", (i+8)/9, (i+8)%9+1);
        if( --N == 0 ) return 0;

        printf("0 0\n");
        if( --N == 0 ) return 0;
    }

    printf("1 2\n");
    if( --N == 0 ) return 0;

    printf("0 0\n");
    if( --N == 0 ) return 0;

    for(int i = 81; i >= 3; i--)
    {
        int j;
        if( i == 81 ) j = 12;
        else j = 1;

        for(; j < i; j++)
        {
            printf("%d %d\n", (j+8)/9, (j+8)%9+1);
            if( --N == 0 ) return 0;

            if( j+1 < i )
            {
                printf("0 0\n");
                if( --N == 0 ) return 0;
            }

        }

        printf("%d %d\n", (i+8)/9, (i+8)%9+1);
        if( --N == 0 ) return 0;
    }
}

沒有留言:

張貼留言