Codeforces441C_Valera and Tubes(暴力)

Posted ldxsuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces441C_Valera and Tubes(暴力)相关的知识,希望对你有一定的参考价值。

Valera and Tubes
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Valera has got a rectangle table consisting of?n?rows and?m?columns. Valera numbered the table rows starting from one, from top to bottom and the columns – starting from one, from left to right. We will represent cell that is on the intersection of row?x?and column?y?by a pair of integers?(x,?y).

Valera wants to place exactly?k?tubes on his rectangle table. A tube is such sequence of table cells?(x1,?y1),?(x2,?y2),?...,?(xr,?yr), that:

  • r?≥?2;
  • for any integer?i?(1?≤?i?≤?r?-?1)?the following equation?|xi?-?xi?+?1|?+?|yi?-?yi?+?1|?=?1?holds;
  • each table cell, which belongs to the tube, must occur exactly once in the sequence.

Valera thinks that the tubes are arranged in a fancy manner if the following conditions are fulfilled:

  • no pair of tubes has common cells;
  • each cell of the table belongs to some tube.

Help Valera to arrange?k?tubes on his rectangle table in a fancy manner.

Input

The first line contains three space-separated integers?n,?m,?k?(2?≤?n,?m?≤?300;?2?≤?2k?≤?n·m) — the number of rows, the number of columns and the number of tubes, correspondingly.

Output

Print?k?lines. In the?i-th line print the description of the?i-th tube: first print integer?ri?(the number of tube cells), then print?2ri?integersxi1,?yi1,?xi2,?yi2,?...,?xiri,?yiri?(the sequence of table cells).

If there are multiple solutions, you can print any of them. It is guaranteed that at least one solution exists.

Sample test(s)
input
3 3 3
output
3 1 1 1 2 1 3
3 2 1 2 2 2 3
3 3 1 3 2 3 3
input
2 3 1
output
6 1 1 1 2 1 3 2 3 2 2 2 1
Note

Picture for the first sample:

技术图片

Picture for the second sample:

技术图片
解题报告
让每一个人两个,剩下给第一个
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;
int mmap[310][310];
int main()
{
    int n,m,k;
    while(cin>>n>>m>>k)
    {
        int t=n*m-(k-1)*2;
        int x=1,y=1;
        printf("%d",t);
        while(t--)
        {
            printf(" %d %d",x,y);
            mmap[x][y]=1;
            if(y+1<=m&&!mmap[x][y+1])
            {
                y++;
            }
            else if(y-1>=1&&!mmap[x][y-1])
                y--;
            else x++;
        }
        k--;
        while(k--)
        {
            printf("\n2");
            t=2;
            while(t--)
            {
                printf(" %d %d",x,y);
                mmap[x][y]=1;
                if(y+1<=m&&!mmap[x][y+1])
                {
                    y++;
                }
                else if(y-1>=1&&!mmap[x][y-1])
                    y--;
                else x++;
            }
        }
        printf("\n");
    }
}


以上是关于Codeforces441C_Valera and Tubes(暴力)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces441A_Valera and Antique Items(水题)

[CodeForces-441E]Valera and Number

Codeforces Round #441 (Div. 2)ABCD

Codeforces Round #441 (Div. 2) (ABC)

Codeforces Round #441 Div. 2题解

Codeforces Round #441 F题题解