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 任 ...
随机推荐
- HDU 2647 Reward(图论-拓扑排序)
Reward Problem Description Dandelion's uncle is a boss of a factory. As the spring festival is comin ...
- C语言中符号格式说明
scanf 语法: #include <stdio.h>int scanf( const char *format, ... ); scanf()函数根据由format(格式)指定的格式从 ...
- 经典算法题每日演练——第十四题 Prim算法
原文:经典算法题每日演练--第十四题 Prim算法 图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过 ...
- 从头开始学JavaScript (九)——执行环境和作用域
原文:从头开始学JavaScript (九)--执行环境和作用域 一.执行环境:定义了变量或者函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有与之关联的变量对象. 变量对象:保存着环境中 ...
- pinyin4j新手教程
Pinyin4j新手教程 pinyin4j是一个支持将简体和繁体中文转换到成拼音的Java开源类库,作者是Li Min (xmlerlimin@gmail.com). 下面是一些详细的介绍和使用方式. ...
- android网络操作使用汇总(http)
Android是作为智能手机的操作系统,我们开发的应用,大多数也都须要连接网络,通过网络发送数据.获取数据,因此作为一个应用开发人员必须熟悉怎么进行网络訪问与连接. 通常android中进行网络连接通 ...
- 浙江大学PAT考试1009~1012(1010上帝是冠军。。)
哎,pat1010即使java书面,只有java书面,还增加了两个点,,.啊,智商捉佳,主要pat有些不给明确的范围.造成遐想空间.. 还是按顺序介绍.. 题目地址:http://pat.zju.ed ...
- Post和Get差异
GET和POST差别例如以下: 1,生成方式 get方式有四种:1)直接在URL地址栏中输入URL.2)网页中的超链接.3)form中method为get. 4)form中method为空时.默认是g ...
- MyEclipse新建Web Project报错
1.详细报错例如以下图 2.报错原因 3.解决方法
- Error with mysqld_safe
出处:http://bugs.mysql.com/bug.php?id=18403 Description: - I downloaded the binary file “Standard 5.0. ...