题目背景

X中学要团体操比赛了哦。队形该怎样排呢?

题目描述

有n(n<=100000)个团体操队员编号分别为1~n,参加运动会开幕式的团体操表演。其基本队形(分连续队形和梅花桩队形)都可以参加按行排列或者列按排列。这样就能得到四种队形排列编号方式。按行(列)排列时每行(列)有r个位置。

如:n=16,r=6,连续队形按行排列

1 2 3 4 5 6

7 8 9 10 11 12

13 14 15 16

n=16,r=3,连续队形按列排列

1 4 7 10 13 16

2 5 8 11 14

3 6 9 12 15

n=16,r=7,梅花桩队形按行排列

1 2 3 4

5 6 7

8 9 10 11

12 13 14

15 16

n=16,r=5,梅花桩队形按列排列

1 6 11 16

4 9 14

2 7 12

5 10 15

3 8 13

现请你编写程序指出编号为m的团体操队员所处位置的行号和列号。

输入输出格式

输入格式:

第一行只有一个自然数k,表明随后的k行中每行都有一个问题的描述信息。每个问题的描述信息为:n x y r m。其中x为队形代号,1表示连续队形,2表示梅花桩队形;y表示排列方式,1表示按行排列,2表示按列排列。

输出格式:

依次输出每一个问题的解。解的格式为p q。分别表示编号为m的团体操队员所处的位置的行编号和列编号。

输入输出样例

输入样例#1: 复制

2
16 1 1 6 11
16 2 2 5 11
输出样例#1: 复制

2 5 1 5

说明

n,r<=100000

有公式可计算。

这是原题题目图片:

思路:首先应该读清楚题意,明白梅花桩的队形是什么含义。

我花了很久,才明白梅花桩队形是怎么排列的。

然后,就可以打一个暴力,然后就可以找规律了。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int t;
int n,x,y,r,m;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d%d%d%d",&n,&x,&y,&r,&m);
if(x==){
int a=(m-)/r+,b=m%r;
if(b==) b=r;
if(y==) swap(a,b);
printf("%d %d ",a,b);
}
else{
int a=(m-)/r+,b=m%r;
if(b==) b=r;
int X,Y;
X=*a-;
if(b>(r+)/) X++;
if(b<=(r+)/) Y=b*-;
else Y=(b-(r+)/)*;
if(y==) swap(X,Y);
printf("%d %d ",X,Y);
}
}
}
/**/

洛谷 P2355 团体操队形的更多相关文章

  1. 洛谷 P1091 合唱队形

    \[传送门在这里呀\] 题目描述 \(N\)位同学站成一排,音乐老师要请其中的\((N-K)\)位同学出列,使得剩下的\(K\)位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次 ...

  2. 洛谷 U86564 排队形

    洛谷 U86564 排队形 题目传送门 题目背景 \(JDFZ2019\)秋季运动会开始辣!为了使强大的高一 · \(6\)班有一个更好的精神面貌,班主任\(T\)老师和体委\(LY\),\(LYB\ ...

  3. 洛谷p1091合唱队形题解

    题目 合唱队形首先要满足的是从1这个位置到中间任意的位置为单增的,从中间任意的位置到最后是单减的,且长度最长.这样才能满足出列的同学最少. 如果要满足这个条件那么我们可以先预处理出每个点的从前找的最长 ...

  4. codevs1058 合唱队形==洛谷P1091 合唱队形

    P1091 合唱队形 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的 ...

  5. [NOIP2004] 提高组 洛谷P1091 合唱队形

    题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2, ...

  6. 洛谷—— P1091 合唱队形

    https://www.luogu.org/problem/show?pid=1091#sub  ||  http://codevs.cn/problem/1058/ 题目描述 N位同学站成一排,音乐 ...

  7. 洛谷P1091合唱队形(DP)

    题目描述 NNN位同学站成一排,音乐老师要请其中的(N−KN-KN−K)位同学出列,使得剩下的KKK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2, ...

  8. (Java实现) 洛谷 P1091合唱队形

    题目描述 NN位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的KK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K1,2,-,K,他们的身 ...

  9. 洛谷P1091 合唱队形

    输入输出样例 输入样例#1: 8 186 186 150 200 160 130 197 220 输出样例#1: 4 此题意在先升后降子序列,单调递增子序列,单调递减子序列当中找到最长的一组序列. 因 ...

随机推荐

  1. poj3252-Round Number 组合数学

    题目: Round Numbers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8492   Accepted: 2963 ...

  2. Android Application 类共享全局数据

    android系统会为每一个程序执行时创建一个Application类的对象且仅创建一个.所以Application能够说是单例模式的一个类.且application对象的生命周期是整个程序中最长的, ...

  3. BZOJ1468: Tree & BZOJ3365: [Usaco2004 Feb]Distance Statistics 路程统计

    [传送门:BZOJ1468&BZOJ3365] 简要题意: 给出一棵n个点的树,和每条边的边权,求出有多少个点对的距离<=k 题解: 点分治模板题 点分治的主要步骤: 1.首先选取一个点 ...

  4. hpuoj--校赛--特殊的比赛日期(素数判断+模拟)

    问题 B: 感恩节KK专场--特殊的比赛日期 时间限制: 1 Sec  内存限制: 128 MB 提交: 392  解决: 99 [提交][状态][讨论版] 题目描述 KK今天参加河南理工大学ACM程 ...

  5. 1.C语言指针学习之外挂篇

    学习了c语言的指针,那么指针能做什么呢,首先,他可以写外挂 首先我们来编写一个dll,挂载到植物大战僵尸上,记住是dll,因为如果你创建一个应用程序,该应用程序是不能操作其他程序的地址的. 第一步,打 ...

  6. HD-ACM算法专攻系列(3)——Least Common Multiple

    题目描述: 源码: /**/ #include"iostream" using namespace std; int MinComMultiple(int n, int m) { ...

  7. win环境操作mysql

    第一步:登录数据库 第二步:查看数据库 第三步:进入数据库 第四步:创建表 第五步:删除数据库 第六步:进入数据库查看表状态

  8. vue中使用console.log无效

    webpack开发环境下,在vue中使用console.log无效,一直以为webpack出了问题. 使用window.console.log()就能够顺利在浏览器控制台输出了. 以及 在axios请 ...

  9. 人在IT,关于计算机专业的杂谈PPT

  10. 一款很不错的html转xml工具-Html Agility Pack 实现html转Xml

    [转]一款很不错的html转xml工具-Html Agility Pack 之前发个一篇关于实现html转成xml的劣作<实现html转Xml>,受到不少网友的关心.该实现方法是借助htm ...