P1083龙舟比赛
题目如下:
现在正在举行龙舟比赛,我们现在获得了最后冲刺时的俯视图像,现在你要输出各条龙舟的名次。
这张图像由r行c列的字符组成,每行的最左边的字符表示起点,所以字符为’S’,最右边的字符为’F’。并且确定在9行里有数字字符1..9,来表示每条龙舟的编号,保证包含数字的行里,只包含连续的相同的3个数字。其余地方都是字符’.’。 具体看样例。越靠近右边的龙舟排名越靠前。如果有并列的,那么他们的名次相同。
输入:
10 15
S..........222F
S.....111.....F
S...333.......F
S...555.......F
S.......444...F
S.............F
S......777....F
S..888........F
S........999..F
S...666.......F
输出:
5
1
6
3
6
6
4
7
2
*****************************************************
此题略坑,正在码代码,但代码码到自己都不想看了;
思路如下:
首先读入,然后遇见字符为1-9的就读入他的号码,然后用最右边的号码减去它的号码就是它到终点的距离。然后排序,然后输出
******************************************************
思路简单到不能再简单哪,但是实现很复杂
首先不能用sort排序,因为sort 会改变数组下标,这就很尴尬了,最开始用了两个sort,后来发现不行,会改数组,没办法按序输出;
只能用最原始的排序方法,在数组0处设置一个缓冲区,这个区用来储存后面待排序的量。
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int r,c;
struct boat
{
int num,dis,rank;
}boats[11];
char b[55]={};
void init()
{
cin>>r>>c;
for(int i=1;i<=r;i++)
{
for(int j=1;j<=c;j++)
{
cin>>b[j];
if((b[j]>='1')&&(b[j]<='9'))
{
boats[int(b[j])-48].num=int(b[j])-48;
boats[int(b[j])-48].dis=c-j;
}
}
}
}
void work()
{
for(int i=1;i<9;i++)
for(int j=i+1;j<=9;j++)
if(boats[i].dis>boats[j].dis)
{
boats[0]=boats[i];
boats[i]=boats[j];
boats[j]=boats[0];
}
for(int i=1;i<=9;i++)
{
if (boats[i].dis==boats[i-1].dis)
boats[i].rank=boats[i-1].rank;
else boats[i].rank=boats[i-1].rank+1;
}//paixu.orz
for(int i=1;i<9;i++)
for(int j=i+1;j<=9;j++)
if(boats[i].num>boats[j].num)
{
boats[0]=boats[i];
boats[i]=boats[j];
boats[j]=boats[0];
}//num sort orz
for(int i=1;i<=9;i++)
cout<<boats[i].rank<<endl;
}
int main()
{ cin>>r>>c;
for(int i=1;i<=r;i++)
{
for(int j=1;j<=c;j++)
{
cin>>b[j];
if((b[j]>='1')&&(b[j]<='9'))
{
boats[int(b[j])-48].num=int(b[j])-48;
boats[int(b[j])-48].dis=c-j;
}
}
}
work(); return 0;
}
P1083龙舟比赛的更多相关文章
- BZOJ4891:[TJOI2017]龙舟(Pollard-Rho,exgcd)
Description 加里敦大学有一个龙舟队,龙舟队有n支队伍,每只队伍有m个划手,龙舟比赛是一个集体项目,和每个人的能力息息相关,但由于龙舟讲究配合,所以评价队伍的能力的是一个值c = (b1*b ...
- 图片效果集合(js、jquery或html5)
1.jQuery HTML5 幻灯片使用支持HTML5的浏览器会有特殊效果,即切换图片时颜色的改变文章:http://keleyi.com/a/bjac/b8i3xdui.htm效果:http://k ...
- SpingBoot项目搭建(详细)
SpingBoot (原创:黑小子-余) springboot官网:->点击<- spring官网:->点击<- 一.SpringBoot简介 Spring Boot是由Piv ...
- Livecoding.tv 现正举行iOS及Android App设计比赛
近日,Livecoding.tv, 一个为世界各地的程序员提供在线实时交流的平台,在其网站上发布了一篇通知, 宣布从4月15日至5月15日,会为iOS和Android的开发者举办一场本地移动app设计 ...
- 为什么我如此热爱这样一个比赛(转自vici)
为什么我如此的热爱这样一个比赛呢?因为它总能带给我一个目标,让我去努力实现它.因为可以看到胜利的希望,于是不断的去追逐.虽然其中的过程可能是比较艰辛的. 对于天才选手,作为天生的冠军,大概凭借天赋 ...
- HDU(1285)—确定比赛名次
/*最近都在复习期末了...好久没做题,都快没智商了*/ 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后 ...
- 白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现
离去年“马尔可夫链进行彩票预测”已经一年了,同时我也计划了一个彩票数据框架的搭建,分析和预测的框架,会在今年逐步发表,拟定了一个目录,大家有什么样的意见和和问题,可以看看,留言我会在后面的文章中逐步改 ...
- [BZOJ3139][HNOI2013] 比赛
Description 沫沫非常喜欢看足球赛,但因为沉迷于射箭游戏,错过了最近的一次足球联赛.此次联 赛共N支球队参加,比赛规则如下: (1) 每两支球队之间踢一场比赛. (2) 若平局,两支球队各 ...
- hduoj 1285 确定比赛名次
http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory ...
随机推荐
- linux键盘驱动
http://blog.csdn.net/beyondhaven/article/details/5753182 http://blog.chinaunix.net/uid-20564848-id-7 ...
- Process对象的其他属性:
标签(空格分隔): process join方法: 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况: 情况一:在主进程的任务与子进程的任务彼 ...
- PO ITEM_BOM_工艺路线SQL
---物料主数据接口 SELECT count(*)PO_MARA FROM STG.PO_MARA; SELECT count(*)PO_MARC FROM STG.PO_MARC; SELECT ...
- 解题(StringTongPei--字符串匹配(动态规划))
题目描述 问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索.数据库.正则表达式等领域.现要求各位实现字符串通配符的算法.要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和 ...
- poi excel 加粗
参考 https://blog.csdn.net/wellto/article/details/52293202 XSSFWorkbook xwb = new XSSFWorkbook(); ... ...
- poj1256(贪心+并查集)
题目链接:http://poj.org/problem?id=1456 题意:给n件商品的价格和卖出截至时间,每一个单位时间最多只能卖出一件商品,求能获得的最大利润. 思路:首先是贪心,为获得最大利润 ...
- JavaScript Validate a Valid Date formatted as "mm/dd/yyyy"
// Validates that the input string is a valid date formatted as "mm/dd/yyyy" function isVa ...
- 游戏引擎架构,3d游戏引擎设计、Unreal引擎技术等五本PDF推荐
扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主
- PHP-自动加载原理分析
说起PHP的自动加载,很多同学可能都会想到各种框架的自动加载功能,PHP规范中的PSR0和PSR4原则,Composer的自动加载功能等等,这些都为我们的开发提供了很大的方便. 那么PHP自动加载的前 ...
- openal支持的通道数和声道数
alext.h: #define AL_FORMAT_QUAD8 0x1204 101 #define AL_FORMAT_QUAD16 0x1205 102 #define AL_FORMAT_Q ...