仙剑奇侠传

                祝玩的开心                                                                                                                        A的满意       
           
Time Limit : 2000 MS   Memory Limit : 65536 KB

题目描述

李逍遥被困在镇妖塔内,为了杀出去,免不了需要打赢大Boss。奈何现在等级太低,只能先打打小怪练级了。 李逍遥只能打赢不比自己等级高的怪物。每次战斗都可以获得经验值,经验值是10/(李逍遥等级-怪物等级+1)。 每获得100点经验值,就会升一级。当然,如果遇到打不赢的怪物,那就鞋底抹油,溜之大吉。现在给你李逍遥的初始等级, 依次遇到的怪物级别,问最后李逍遥的级别和经验值(初始的经验值为0)。

输入

第一行是一个整数T(T ≤ 100),表示样例的个数。 样例的第一行是两个整数N(1≤N≤10000),L(1≤L≤100)。 样例的第二行是N个整数X_i,(1≤X_i≤200),表示依次遇到的怪物等级。

输出

每行输出一个样例的结果,为两个整数,分别表示李逍遥最后的等级和经验值。

样例输入

2
11 1
1 1 1 1 1 1 1 1 1 1 1
20 2
2 2 2 2 2 2 2 2 2 2 2 4 1 1 1 1 1 1 1 4

样例输出

2 105
3 126

Source

ericxie

第一题,一个签到题,可是我却做了好久,原来是有个地方没考虑到,总之,谨慎行事,思维敏捷就好;

int main()//为了节省空间,头文件就删了;
{
int t,n,l,a;
scanf("%d",&t);
while(t--)
{
int sum=0,x=0;
scanf("%d%d",&n,&l);
while(n--)
{
scanf("%d",&a);
if(l>=a)
x+=10/(l-a+1),sum+=10/(l-a+1);
if(x>=100)
{
l++;
x-=100//当时这里是直接把x赋为0,真是不应该;
}
}
printf("%d %d\n",l,sum);
}
return 0;
}

折叠

                                  祝玩的开心  
                                                                   
                                                           A的满意
Time Limit : 1000 MS   Memory Limit : 65536 KB

Problem Description

给一个正整数x,请将x对半折叠,对位求和。比如说123,对半折叠对位求和,就是42;1234对半折叠就是12+43=55。

Input

第一行是一个整数T,表示样例的个数。 以后每行一个正整数x,0≤x≤109

Output

每行输出一个样例的结果。

Sample Input

4
1
12
123
1234

Sample Output

1
3
42
55

Source

ericxie

第二道签到题,思维清晰敏捷绝对没问题,观察测试数据就明白了,于是我们分奇偶,偶数直接分为两部分再相加,奇数中间那个数可以任意归为一方,但另一方要乘以10再相加;

int a[15];
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int i=0;
while(n)
{
a[i++]=n%10;
n/=10;
}
int aa=0,bb=0;//分为前后两部分,再相加;
for(int j=i-1; j>=i/2; j--)
aa=aa*10+a[j];
for(int j=0; j<i/2; j++)
bb=bb*10+a[j];
if(i%2)
bb*=10;
printf("%d\n",aa+bb);
}
return 0;
}

“ Digit ” 这个题还没搞懂,不过cF上有一个类似的题,没这个题这么变态,数据小的话可以直接打表打开链接

最小的数

祝玩的开心                                                                                                                                 A的满意
Time Limit : 1000 MS   Memory Limit : 65536 KB

题目描述

给你一个n位数,每次操作可以选该数任意的相邻两位进行交换,如果最多可以操作k次,那么最终可以得到的最小的数是什么

(n位且不能含前导零)?

输入

有多组测试数据,第一行为数据个数T(T<=10); 每组数据占一行,包含一个数(不超过1000位)和k(0<=k<=1000),中间用空格隔开;

输出

最终能得到的最小的数。

样例输入

2
321654987 1
321654987 2

样例输出

231654987
132654987

Source

WCB

这道题看起来很麻烦,其实也就是考思路,只要思路清晰,思维敏捷,也是不在话下的;

这道题和NYOJ贪心专题里的寻找最大数(三)简直一模一样,不过NYOJ上的题还比较水,不管是数据还是时限,但思路都一样,欢迎来水,打开链接

思路就是:第一个单独判,因为不能有前导0,所以从当前位往后的k位中找一个最小的(注意不能为0)如果比当前位还小便可以交换,然后判断交换的次数,k减之,后面的操作几乎一样,从第二位开始便可以有0了,还是从当前位出发,往后k位中找一个最小的如果比当前位还小又可以交换,这样一直下去,注意当整个串都是非递减的时候就可以直接输出了;

const int N=1000+10;
char a[N];
int main()
{
int t,k,i,x;
scanf("%d",&t);
while(t--)
{
scanf("%s%d",a,&k);
x=strlen(a);
if(k==0)
{
printf("%s\n",a);
continue;
}
int l=0;
int pos=l;
for(i=l+1; i<=l+k&&i<x; i++)//判第一位;
if(a[pos]>a[i]&&a[i]!='0')
pos=i;
if(pos!=l)//符合条件可以交换;
{
for(i=pos; i>0; i--)
swap(a[i],a[i-1]);
k-=pos-l;//减去相应的次数;
}
l++;
while(k)
{
int f=1;
for(i=1; i<x-1; i++)
if(a[i]>a[i+1])
f=0;
if(f) break;//如果这个串都非递减则已经是最小的了;
pos=l;
for(i=l+1; i<=l+k&&i<x; i++)
if(a[pos]>a[i])//同样的操作,只不过可以有0移至前面;
pos=i;
if(pos==l)//如果这个范围内本身(当前位)就是最小的,那么不用交换,直接看下一位;
{
l++;
continue;
}
for(i=pos; i>l; i--)
swap(a[i],a[i-1]);
k-=pos-l,l++;
}
printf("%s\n",a);
}
return 0;
}

其他题还没A,其实博主2015年还在上高中,这是2016年才补的几道题,博主水平较低,欢迎提出宝贵意见和建议;

2015 湘潭大学程序设计比赛(Internet)部分题解,其中有一个题与NYOJ1057很像,贪心过~~的更多相关文章

  1. 2015 湘潭大学程序设计比赛(Internet)--E题--烦人的异或

    烦人的异或 Accepted : 27   Submit : 102 Time Limit : 5000 MS   Memory Limit : 65536 KB 题目描述 如下图,有一N*M的表格, ...

  2. 2015 湘潭大学程序设计比赛(Internet)--D题-最小的数

    最小的数 Accepted : 47   Submit : 276 Time Limit : 1000 MS   Memory Limit : 65536 KB 题目描述 给你一个n位数,每次操作可以 ...

  3. 2015 湘潭大学程序设计比赛(Internet)--G题-人生成就

    人生成就 Accepted : 54   Submit : 104 Time Limit : 10000 MS   Memory Limit : 65536 KB 题目描述 人生就像一个n*n的矩阵, ...

  4. 2015 湘潭大学程序设计比赛(Internet)H题-括号匹配

    括号匹配 Accepted : 30   Submit : 234 Time Limit : 10000 MS   Memory Limit : 65536 KB 题目描述 有一串括号(只包含&quo ...

  5. 华南师大 2017 年 ACM 程序设计竞赛新生初赛题解

    题解 被你们虐了千百遍的题目和 OJ 也很累的,也想要休息,所以你们别想了,行行好放过它们,我们来看题解吧... A. 诡异的计数法 Description cgy 太喜欢质数了以至于他计数也需要用质 ...

  6. 记第五届山东省ACM程序设计比赛——遗憾并非遗憾

    记第五届山东省ACM程序设计比赛 5月10日上午9点半左右,我们的队伍从学校出发,一个多小时后到达本次比赛的地点-哈尔滨工业大学. 报道,领材料,吃午饭,在哈工大的校园里逛了逛,去主楼的自习室歇息了一 ...

  7. 2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解

    2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解 update10.01 突然发现叉姐把这场的题传到牛客上了,现在大家可以有地方提交了呢. 不知道该干什么所以就来水一篇题解 ...

  8. 2017年浙江理工大学程序设计竞赛校赛 题解&源码(A.水, D. 简单贪心 ,E.数论,I 暴力)

    Problem A: 回文 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1719  Solved: 528 Description 小王想知道一个字 ...

  9. Leetcode 简略题解 - 共567题

    Leetcode 简略题解 - 共567题     写在开头:我作为一个老实人,一向非常反感骗赞.收智商税两种行为.前几天看到不止两三位用户说自己辛苦写了干货,结果收藏数是点赞数的三倍有余,感觉自己的 ...

随机推荐

  1. [USACO 2011 Dec Gold] Threatening Letter【后缀】

    Problem 3: Threatening Letter [J. Kuipers, 2002] FJ has had a terrible fight with his neighbor and w ...

  2. 【洛谷4769】[NOI2018] 冒泡排序(动态规划_组合数学)

    题目: 洛谷 4769 博客页面左下角的嘴嘴瓜封神之战中的题目 分析: 一个排列交换次数为 \(\frac{1}{2}\sum_{i=1}^{n}|i-p_i|\) 的充要条件是这个排列不存在长度为 ...

  3. Linux的proc文件系统 分类: linux 2014-06-02 10:21 623人阅读 评论(0) 收藏

    proc为一个内核数据结构接口,用户空间和内核空间可以通过该接口通信, 与普通文件不同的是,这些虚拟文件的内容都是动态创建的. proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间. ...

  4. ES之值类型以及堆和栈

    ES的数据类型: 原始类型(值存在栈内存中): Number.String Boolean.undefined.null charAt(index)返回该index所在的字节,charCodeAt(i ...

  5. 归并排序算法及其JS实现

    归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(con ...

  6. Android 7.0 因为file://引起的FileUriExposedException异常

    最近作者又碰到因为android 7.0 引起的兼容问题了. 在7.0以前的版本: //创建临时图片 File photoOutputFile = SDPath.getFile("temp. ...

  7. Xamarin.Forms跨平台开发入门-第二部分:深入解析

    英文原文: https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/deepdiv ...

  8. 未找到框架“.NETFramework,Version=v4.5”的引用程序集

    问题描述 一般是在编译的时候会出现这样子的问题, 问题原因: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETF ...

  9. iOS----时间日期处理

    时间日期处理 1.NSDateFormatter 日期格式化 ①可以把NSString 类型转为 NSDate类型 举例 把 "2015-08-23 19:46:14" 转为NSD ...

  10. VUE 入坑系列 一 基础语法

    html代码 <div id="app"> {{message}} </div> JavaScript代码 var vm = new Vue({ el: & ...