题目背景

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. 一次误报引发的DNS检测方案的思考:DNS隧道检测平民解决方案

    摘自:http://www.freebuf.com/articles/network/149328.html 通过以上分析得出监控需要关注的几个要素:长域名.频率.txt类型.终端是否对解析ip发起访 ...

  2. MailKit和MimeKit的.NET基础邮件服务

    MailKit和MimeKit的.NET基础邮件服务 邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Ne ...

  3. Copying

    Aliasing can make program difficult to read because changes made in one place might have unexpected ...

  4. 《剑指offer》栈的压入、弹出序列

    一.题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  5. dedecms实现表单提交数据到指定的邮箱

    1.http://blog.csdn.net/webnoties/article/details/17219219 2.http://www.jz96.com/451.html 3.https://m ...

  6. JavaScript 获取移动设备的型号

    https://joyqi.com/javascript/how-to-detect-mobile-devices-model-using-javascript.html?utm_source=too ...

  7. Vue不能检测的数组变化 对象变化

    数组: 由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度时 ...

  8. poj 3613 Cow Relays(矩阵的图论意义)

    题解 用一个矩阵来表示一个图的边的存在性,即矩阵C[i,j]=1表示有一条从i到j的有向边C[i,j]=0表示没有从i到j的边.这个矩阵的k次方后C[i,j]就表示有多少条从i到j恰好经过k条边的路径 ...

  9. [洛谷P3927]SAC E#1 - 一道中档题 Factorial

    题目大意:求$n!$在$k(k>1)$进制下末尾0的个数. 解题思路:一个数在十进制转k进制时,我们用短除法来做.容易发现,如果连续整除p个k,则末尾有p个0. 于是问题转化为$n!$能连续整除 ...

  10. [NOIP2014提高组]联合权值

    题目:洛谷P1351.Vijos P1906.codevs3728.UOJ#16. 题目大意:有一个无向连通图,有n个点n-1条边,每个点有一个权值$W_i$,每条边长度为1.规定两个距离为2的点i和 ...