洛谷 P2355 团体操队形
题目背景
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的团体操队员所处的位置的行编号和列编号。
输入输出样例
说明
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 团体操队形的更多相关文章
- 洛谷 P1091 合唱队形
\[传送门在这里呀\] 题目描述 \(N\)位同学站成一排,音乐老师要请其中的\((N-K)\)位同学出列,使得剩下的\(K\)位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次 ...
- 洛谷 U86564 排队形
洛谷 U86564 排队形 题目传送门 题目背景 \(JDFZ2019\)秋季运动会开始辣!为了使强大的高一 · \(6\)班有一个更好的精神面貌,班主任\(T\)老师和体委\(LY\),\(LYB\ ...
- 洛谷p1091合唱队形题解
题目 合唱队形首先要满足的是从1这个位置到中间任意的位置为单增的,从中间任意的位置到最后是单减的,且长度最长.这样才能满足出列的同学最少. 如果要满足这个条件那么我们可以先预处理出每个点的从前找的最长 ...
- codevs1058 合唱队形==洛谷P1091 合唱队形
P1091 合唱队形 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的 ...
- [NOIP2004] 提高组 洛谷P1091 合唱队形
题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2, ...
- 洛谷—— P1091 合唱队形
https://www.luogu.org/problem/show?pid=1091#sub || http://codevs.cn/problem/1058/ 题目描述 N位同学站成一排,音乐 ...
- 洛谷P1091合唱队形(DP)
题目描述 NNN位同学站成一排,音乐老师要请其中的(N−KN-KN−K)位同学出列,使得剩下的KKK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2, ...
- (Java实现) 洛谷 P1091合唱队形
题目描述 NN位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的KK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K1,2,-,K,他们的身 ...
- 洛谷P1091 合唱队形
输入输出样例 输入样例#1: 8 186 186 150 200 160 130 197 220 输出样例#1: 4 此题意在先升后降子序列,单调递增子序列,单调递减子序列当中找到最长的一组序列. 因 ...
随机推荐
- CMD应用 qtp/winshell/cmd的交互
=================================================================== '採用windows.shell的 sendkeys 方式: s ...
- 48.AngularJS ng-src 指令
转自:https://www.cnblogs.com/best/tag/Angular/ 1. <!DOCTYPE html> <html> <head> < ...
- 机器学习(七) PCA与梯度上升法 (上)
一.什么是PCA 主成分分析 Principal Component Analysis 一个非监督学的学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化:去噪 第一 ...
- spring context对象
在 java 中, 常见的 Context 有很多, 像: ServletContext, ActionContext, ServletActionContext, ApplicationContex ...
- WinDBG help
WinDBG is a great, free tool. It is more powerful than Visual Studio's built-in debugger, but is har ...
- Tiles入门及项目实战
1.Apache Tiles™ Apache Tiles是一个模板布局框架.最初是为了简化Web应用界面开发,如今已不限于JavaEE Web环境. Tiles允许开发人员定义页面片段,它们在运行时会 ...
- d3 bubble源码分析
技术 d3.d3.pack.d3.hierarchy 展示 https://bl.ocks.org/xunhanliu/e0688dc2ae9167c4c7fc264c0aedcdd1 关于怎么使用, ...
- CF85E Guard Towers(二分答案+二分图)
题意 已知 N 座塔的坐标,N≤5000 把它们分成两组,使得同组内的两座塔的曼哈顿距离最大值最小 在此前提下求出有多少种分组方案 mod 109+7 题解 二分答案 mid 曼哈顿距离 >mi ...
- caioj 1084 动态规划入门(非常规DP8:任务安排)(取消后效性)
这道题的难点在于,前面分组的时间会影响到后面的结果 也就是有后效性,这样是不能用dp的 所以我们要想办法取消后效性 那么,我们就可以把影响加上去,也就是当前这一组加上了s 那么就把s对后面的影响全部加 ...
- CSU 1446 Modified LCS 扩展欧几里得
要死了,这个题竟然做了两天……各种奇葩的错误…… HNU的12831也是这个题. 题意: 给你两个等差数列,求这两个数列的公共元素的数量. 每个数列按照以下格式给出: N F D(分别表示每个数列的长 ...