2013.4.A
=-=最近简直忙疯了.....两眼泪汪汪的...一个星期又磨磨蹭蹭的刷了一套
1.java_c
题1 Java vs C++
【问题描述】
Java和C++两种语言的辩手都可以相互争论数小时去证明他们的编程语言是最好的。用Java的人将告诉人们,他们的程序更加清楚且不容易犯错,而用C++的人会嘲笑他们没有能举出有代表性的实例来证明他们的观点,或者告诉他们Java的程序运行速度慢而且源代码太长。
另一个问题是,用Java和C++的人永远无法在标识符的命名上取得共识。在Java中,由多个单词组成的标识符的命名规则如下:第一个单词是以小写字母开头,接下来的每一个单词以大写字母开头,分隔符是不允许使用的。其他所有的字母都是小写的。下面举出一些例子:javaIdentifier,longAndMnemonicIdentifier,name,nEERC。
而在C++中,人们只用小写字母来命名标识符。他们运用下划线“_”来分隔单词。下面举出一些例子:c_identifier,long_and_mnemonic_identifier,name(当只有1个单词时,用Java和C++的人是统一的),n_e_e_r_c。
你需要写一个程序来相互翻译Java和C++的程序。当然了,翻译后的标识符必须符合它的命名规则,否则人们不会认同你的翻译。
给你一个标识符,它可能会是Java或者C++标识符中的一种,而你需要将其翻译成另一种。如果这个标识符既不是Java标识符也不是C++标识符,你的程序需要报告错误。翻译必须符合规范,所以就需要改变字母大小写或者添加、删除下划线。
【输入格式】
输入文件1行,包含一个标识符。标识符由大小写字母和下划线组成,长度不会超过100。
【输出格式】
如果输入的是Java标识符,输出应该为C++标识符;反之亦然。如果输入既不是Java标识符,也不是C++标识符,则输出“Error!”。
【输入样例1】
long_and_mnemonic_identifier
【输出样例1】
longAndMnemonicIdentifier 【输入样例2】
anotherExample
【输出样例2】
another_example 【输入样例3】
i
【输出样例3】
i 【输入样例4】
bad_Style
【输出样例4】
Error!
java_c 这一题主要是考字符串的处理,写的时候还是要很细心的,首先是c++要手打insert.delete,表示很忧伤;一些小细节要考虑到,就比如首字母如果是大写或是_,输出error
代码
#include<cstdio>
#include<cstring>
using namespace std;
char s[200];
bool f[3];
int i,j,l;
int main(){
freopen("java_c.in","r",stdin);
freopen("java_c.out","w",stdout);
memset(f,false,sizeof(f));
scanf("%s",s);
l=strlen(s);
for(i=0;i<l;i++){
if(s[0]>=65 && s[0]<97){
f[1]=true;f[2]=true;
break;
}
if(s[0]=='_'){
f[1]=true;f[2]=true;
break;
}
if(s[i]>=65 && s[i]<97 && s[i]!=95){
l++;
f[2]=true;
for(j=l;j>i;j--) s[j]=s[j-1];
s[i+1]=s[i]+32;
s[i]='_';
i++;
}
if(s[i]=='_'){
f[1]=true;
if(s[i+1]>=97){
for(j=i;j<l-1;j++) s[j]=s[j+1];
s[i]=s[i]-32;
l--;
}
else{
f[2]=true;
break;
}}}
if(f[1] && f[2]) printf("Error!");
else for(i=0;i<l;i++) printf("%c",s[i]); return 0;
}
2.calculate
题2 计算概率
【问题描述】
小明有n个长度不一的小木棍,这些木棍的长度都是正整数。小明的父亲想和小明做一个游戏。他规定一个整数长度l,让小明闭着眼睛从n个木棍中随便拿出两个。如果两个木棍的长度总和小于等于l,则小明胜,否则小明的父亲胜。小明想知道他胜出的概率究竟有多大。
【输入说明】
输入包含两行。第一行为两个整数n和l,其中n和l都不超过100000。第二行包含n个整数,分别为n个木棍的长度。
【输出说明】
输出包含一个实数,小明胜出的概率,保留两位小数。
【输入样例】calculate.in
4 5
1 2 3 4
【输出样例】calculate.out
0.67
一开始打了个暴力,居然骗了个80,surprise!
之后看了题解说是要用dp.....但是看了某个大神的代码之后,发现可以用排列组合轻松搞定!!
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long a[1000001],k,ans=0,n,l;
int main(){
//freopen("calculate.in","r",stdin);freopen("calculate.out","w",stdout);
scanf("%d%d",&n,&l);
for(int i=0;i<n;i++){
scanf("%d",&k);
a[k]++;
}
int h=1,r=l-1,s=0;
while(r>=h){
s+=a[h];
ans+=a[r]*s;
r--;
h++;
}
if(h==r) s+=a[h];
ans+=s*(s-1)/2;
n=n*(n-1)/2;
printf("%.2f",(double)ans/n);
return 0;
}
3.recruitment
题3 袁绍的刁难 【问题描述】
黄巾之乱后,郭嘉到了袁绍的统辖地区,袁绍想给郭嘉一个下马威,当时正值他招募将领的时候,于是乎,袁绍就让郭嘉去替他招募将领。
这时候有很多很多的将领到袁绍处报到(别人家底厚,四世三公哪~~),每个将领的编号依次为1、2、3、……,第i个将领的武力值为3^(i-1)。
袁绍需要我们的郭嘉招纳任意个将领,而郭嘉选中的将领有一个“总武力值”为各个将领的武力值之和。例如:郭嘉这一次招募了第一个将领和第三个将领,那么“总武力值”为1+9=10。
袁绍想知道,他可以获得的第k小的“总武力值”是多少,请你帮助我们的郭嘉告诉袁绍这个第k小的“总武力值”。
从文件中读入k,输出郭嘉能够获得的,第k小的“总武力值”。 【输入格式】
输入文件的第一行为n(n≤100),表示测试数据的组数。
以下n行,每行为一个k值。 【输出格式】
输出包含n行,每行输出一个对应的结果。 【输入样例】
1
7 【输出样例】
13 【样例说明】
郭嘉能够拿到的总武力值从小到大为1、3、4、9、10、12、13……所以第7小的总武力值是13。
对于50%的输入文件,有k≤5000。
对于100%的输入文件,有k≤2^31-1。
表示打这一题打得无限忧伤,首先是一个周末都没有时候调它就很不开森了,没想到还因为最后输出的没有开lld,无限wa得我飙泪
咳咳.....一开始看到这一题的时候真是一点想法都没有,之前貌似没有打过这样的题目,之后40表示可以用进制转化,但之后发现用2进制并不需要倒着输出,想想2就可以知道了
#include<cstdio>
#include<cstring>
using namespace std;
int i=0;
long long f[100000];
void exchange(int x){
int r;
while(x>0){
r=x%2;
x/=2;
f[i]=r;
i++;
}
}
int main(){
freopen("recruitment.in","r",stdin);freopen("recruitment.out","w",stdout);
long long k,sum,ans;
long long n; scanf("%d",&n);
for(int j=0;j<n;j++){
memset(f,0,sizeof(f));
sum=0;ans=1;i=0;
scanf("%d",&k);
exchange(k);
for(int l=0;l<=i;l++){ if(f[l]==1){
sum+=ans; }ans*=3;
}
printf("%lld\n",sum);
}
return 0;
}
2013.4.A的更多相关文章
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- SharePoint 2013: A feature with ID has already been installed in this farm
使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...
- Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目
默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...
- SharePoint 2013 create workflow by SharePoint Designer 2013
这篇文章主要基于上一篇http://www.cnblogs.com/qindy/p/6242714.html的基础上,create a sample workflow by SharePoint De ...
- Install and Configure SharePoint 2013 Workflow
这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...
- SharePoint 2013 configure and publish infopth
This article will simply descript how to configure and publish a InfoPath step by step. Note: To con ...
- TFS 2013 培训视频
最近给某企业培训了完整的 TFS 2013 系列课程,一共四天. 下面是该课程的内容安排: 项目管理 建立项目 成员的维护 Backlog 定义 任务拆分 迭代 ...
- Visual Studio 2013 Ultimate因为CodeLens功能导致Microsoft.Alm.Shared.Remoting.RemoteContainer.dll高CPU占用率的折中解决方案
1.为什么Microsoft.Alm.Shared.Remoting.RemoteContainer.dll的CPU占用率以及内存使用率会那么高? 在Visual Studio 2013 Ultima ...
- 沙盒解决方案解决SharePoint 2013 以其他身份登陆的问题
众所周知,SharePoint 2013没有像SharePoint 2010那样有一个叫"以其他身份登录"的菜单项. 当然解决方案也很多,比如你可以直接修改Welcome.ascx ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(中)
门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...
随机推荐
- 假设动态运行java文字,当在脚本式配置,这是非常方便的
package com.bfrj.core.groovy; import java.util.HashMap; import java.util.Map; import org.jeecgframew ...
- sql server 汉字的长度
前几天改了人家程序中的一个小bug,就是输入时长度的校验问题.项目是.Net的,数据库是 sql server的.检查了一下,发现以前的人员把长度给控制小了,数据库中允许输入256的长度,而别人在as ...
- 2013级C++第13周(春)项目——继承的进一步话题与GUI应用开发
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 第一部分 程序阅读:阅读以下类的定义,请说出在 ...
- IBM即将倒闭,微软也从崩溃18个月
IBM公司20发布2014在第三季度财报.其三阶季度净利润1800万美元,下跌99.6%. 可见IBM我已经危及. 技术专家sun收购崩溃,说明一些原因,自满技术公司可能已用完.. sun以前靠小型机 ...
- SSH—Struts(三)—跑步者(Action)
如已经描述Struts其基本原理和控制器ActionServlet,根据一个请求通过流ActionServlet之后就要到达Action类中做详细的处理了.ActionServlet通过ActionM ...
- IOS程序启动的过程
IOS程序启动按照以下5个步骤执行 1.main函数 IOS程序启动首先执行main函数 2.UIApplicationMain 执行main函数中的UIApplicationMain函数,这个函数会 ...
- 候选键(unique)
foreign key references 除了关联外键,还可以关联 候选键(unique) 需求 table1 中的 status int 类型 ,表示状态 ,0 未启动 ,1 已启动,2 ...
- UITableView刷新局部
//局部section刷新 NSIndexSet *nd = [[NSIndexSet alloc] initWithIndex:1]; //刷新第二个section [self.tableView ...
- NET Framework 4.5 五个新特性
.NET Framework 4.5 五个新特性 Framework 4.5 已经开发了几个项目了,想去研究一下VS 2015 里面的跨平台..不过好像4.5内核新特性还没搞明白呢还是先看看4.5内核 ...
- 【软测试】(两)计算机组成原理-cpu
cpu,中文名称中央处理单元,central processing unit.系统的核心,用于数据的处理,算术以及逻辑运算和控制程序的运行. 组成 运算器 从字面上就能够理解到.运算器主要用来对于逻辑 ...