[ 9.11 ]CF每日一题系列—— 441C暴力模拟

Posted df-yimeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ 9.11 ]CF每日一题系列—— 441C暴力模拟相关的知识,希望对你有一定的参考价值。

Description:

  n * m 的地图,建设k个管道管道只能横竖走,且长度大于等于2,问你任意一种建设方法

Solution:
  图里没有障碍,所以先把前k - 1个管道每个分2个长度,最后一个管道一连到底

Code:

PS:今天时间没来的急,其实函数可以封装一下的,虽然都是暴力,但也得暴力的优美不是??

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int n,m,k;
    while(~scanf("%d%d%d",&n,&m,&k))
    {
        int all = n * m;
        int num = 0;
        int i = 1;
        int x = 1;
        int y = 1;
        while(x <= n && y <= m)
        {
            while(y <= m)
            {
                if(i < k && num == 0)
                {
                    printf("%d %d %d",2,x,y);
                    ++num;
                }
                else if(i < k && num == 1)
                {
                    printf(" %d %d
",x,y);
                    num = 0;
                    ++i;
                }
                else if(i == k)
                {
                    ++i;
                    printf("%d %d %d",all - k * 2 + 2,x,y);
                }
                else if(i > k)
                {
                    printf(" %d %d",x,y);
                }
                y++;
            }
            y--;
            x++;
            if(x > n)break;
            while(y >= 1)
            {
                if(i < k && num == 0)
                {
                    printf("%d %d %d",2,x,y);
                    ++num;
                }
                else if(i < k && num == 1)
                {
                    printf(" %d %d
",x,y);
                    num = 0;
                    ++i;
                }
                else if(i == k)
                {
                    ++i;
                    printf("%d %d %d",all - k * 2 + 2,x,y);
                }
                else if(i > k)
                {
                    printf(" %d %d",x,y);
                }
                y--;
            }
            y++;x++;
        }
        printf("
");
    }
    return 0;
}

 


以上是关于[ 9.11 ]CF每日一题系列—— 441C暴力模拟的主要内容,如果未能解决你的问题,请参考以下文章

9.11PMP每日一题

CF每日一题系列 —— 415A

[ 10.03 ]CF每日一题系列—— 534B贪心

[ 10.4 ]CF每日一题系列—— 486C

[ 10.08 ]CF每日一题系列—— 602B

[ 9.22 ]CF每日一题系列—— 484A Bits