题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4063

Input

Output

Sample Input

2
3 1
4 3

Sample Output

Impossible
2 1 4 3
3 4 1 2
4 3 2 1

题意:

说现在有 $n$ 个人打比赛,要你安排 $k$ 轮比赛,要求每轮每个人都参加一场比赛。

所有轮次合起来,任意一对人最多比赛一场。

且对于任意的第 $i,j$ 轮,若 $a,b$ 在第 $i$ 轮进行了一场比赛,$c,d$ 在第 $i$ 进行了一场比赛,则 $a,c$ 在第 $j$ 轮必须进行一场比赛,$b,d$ 在第 $j$ 必须进行一场比赛。

现在要你安排比赛。

题解:

算法教材上有过一道题叫“循环赛日程表”:

把对于题目所给的 $n$,找到一个最小的 $m$ 满足 $2^m \ge n$,然后按照上面的思路递归打出表格,

然后从第二行开始进行打印前 $n$ 列,如果接下来的 $k$ 行中所有的数都是在 $1 \sim n$ 里的,说明是OK的。否则就做不到比赛 $k$ 轮。

AC代码:

#include<bits/stdc++.h>
using namespace std;
int n,k;
int mp[][];
void t(int x)
{
if(x==)
{
mp[][]=, mp[][]=;
mp[][]=, mp[][]=;
return;
}
t(x/);
for(int i=;i<=x/;i++)
{
for(int j=;j<=x/;j++)
{
mp[i][j+x/]=mp[i][j]+x/;
mp[i+x/][j+x/]=mp[i][j];
mp[i+x/][j]=mp[i][j]+x/;
}
}
}
bool ok()
{
for(int i=;i<=k+;i++) {
for(int j=;j<=n;j++) {
if(mp[i][j]>n) return ;
}
}
return ;
}
int main()
{
int T;
cin>>T;
while(T--)
{
scanf("%d%d",&n,&k);
if(n% || k>=n)
{
printf("Impossible\n");
continue;
} int N=;
while((N/)>=n) N/=; t(N); if(!ok())
{
printf("Impossible\n");
continue;
}
else
{
for(int i=;i<=k+;i++) {
for(int j=;j<=n;j++) {
printf("%d%c",mp[i][j],j==n?'\n':' ');
}
}
}
}
}

ZOJ 4063 - Tournament - [递归][2018 ACM-ICPC Asia Qingdao Regional Problem F]的更多相关文章

  1. ZOJ 4060 - Flippy Sequence - [思维题][2018 ACM-ICPC Asia Qingdao Regional Problem C]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4060 题意: 给出两个 $0,1$ 字符串 $S,T$,现在你有 ...

  2. ZOJ 4062 - Plants vs. Zombies - [二分+贪心][2018 ACM-ICPC Asia Qingdao Regional Problem E]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4062 题意: 现在在一条 $x$ 轴上玩植物大战僵尸,有 $n$ ...

  3. ZOJ 4067 - Books - [贪心][2018 ACM-ICPC Asia Qingdao Regional Problem J]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4067 题意: 给出 $n$ 本书(编号 $1 \sim n$), ...

  4. ZOJ 4070 - Function and Function - [签到题][2018 ACM-ICPC Asia Qingdao Regional Problem M]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5840 Time Limit: 1 Second Mem ...

  5. 2020 ICPC Asia Taipei-Hsinchu Regional Problem H Optimization for UltraNet (二分,最小生成树,dsu计数)

    题意:给你一张图,要你去边,使其成为一个边数为\(n-1\)的树,同时要求树的最小边权最大,如果最小边权最大的情况有多种,那么要求总边权最小.求生成树后的所有简单路径上的最小边权和. 题解:刚开始想写 ...

  6. 2020 ICPC Asia Taipei-Hsinchu Regional Problem B Make Numbers (dfs搜索)

    题意:给你四个数字,你可以用这四个数字凑出四个1位数,一个2位数和两个1位数,或一个3位数和一个1位数,你可以用你凑出的数字进行\(+,-,x\)运算(所有运算符号至少出现一次),问你一共能得到多少个 ...

  7. 2019 ICPC Asia Taipei-Hsinchu Regional Problem J Automatic Control Machine (DFS,bitset)

    题意:给你\(m\)个长度为\(n\)的二进制数,求最少选多少个使它们\(|\)运算后所有位置均为\(1\),如果不满足条件,则输出\(-1\). 题解:这题\(n\)的范围很大,所以我们先用\(st ...

  8. 2019 ICPC Asia Taipei-Hsinchu Regional Problem K Length of Bundle Rope (贪心,优先队列)

    题意:有\(n\)堆物品,每次可以将两堆捆成一堆,新堆长度等于两个之和,每次消耗两个堆长度之和的长度,求最小消耗使所有物品捆成一堆. 题解:贪心的话,每次选两个长度最小的来捆,这样的消耗一定是最小的, ...

  9. 2017 ACM ICPC Asia Regional - Daejeon

    2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...

随机推荐

  1. R文本挖掘之jiebaR包

    library(jiebaRD)library(jiebaR)  ##调入分词的库cutter <- worker()mydata =read.csv(file.choose(),fileEnc ...

  2. mysql 线程等待时间,解决sleep进程过多的办法

    如果你没有修改过MySQL的配置,缺省情况下,wait_timeout的初始值是28800.   wait_timeout 过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统 ...

  3. linux 设备驱动概述

    linux 设备驱动概述 目前,Linux软件工程师大致可分为两个层次: (1)Linux应用软件工程师(Application Software Engineer):       主要利用C库函数和 ...

  4. Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 2)

    在我们设计和开发应用程序时,经常要用到控件.比如开发一个客户端WinForm应用程序时,微软就为我们提供了若干控件,这些控件为我们提供了可被定制的属性和事件.属性可以更改它的外观,比如背景色,标题等, ...

  5. 利用cwRsync客户端将Windows下文件同步到Linux

    这里不描述Linux服务端安装配置rsync服务的过程,有需要可以在网络上查找相关教程. 1.安装cwRsync客户端下载地址:http://itefix.no/cwrsync/下载文件cwRsync ...

  6. Sublime Text3 运行 PHP 文件

    在 Zend Studio(12.5)下可以通过 Run(Ctrl + F11)把 PHP 程序的执行结果通过 Debug Output 显示在 IDE 中,这样比开启 Server,再打开浏览器执行 ...

  7. crawler_exa4

    优化中... #! /usr/bin/env python # -*- coding:utf-8 -*- # Author: Tdcqma ''' 获取漏洞目标站点:绿盟安全漏洞通告 v1.0: 由于 ...

  8. Android CPU类型及预定义的宏

    [时间:2019-02] [状态:Open] [关键词:android,cpu, armeabi, armeabi-v7a, arm64-v8a, 32位,64位,c/c++] 本文主要总结下前段时间 ...

  9. Thymeleaf模版--子页面单独引入CSS、JS文件

    https://blog.csdn.net/u010392801/article/details/80465800 ****************************************** ...

  10. hdoj:2086

    A1 = ? Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...