=-=最近简直忙疯了.....两眼泪汪汪的...一个星期又磨磨蹭蹭的刷了一套

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的更多相关文章

  1. 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 ...

  2. SharePoint 2013: A feature with ID has already been installed in this farm

    使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...

  3. Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目

    默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...

  4. SharePoint 2013 create workflow by SharePoint Designer 2013

    这篇文章主要基于上一篇http://www.cnblogs.com/qindy/p/6242714.html的基础上,create a sample workflow by SharePoint De ...

  5. Install and Configure SharePoint 2013 Workflow

    这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...

  6. SharePoint 2013 configure and publish infopth

    This article will simply descript how to configure and publish a InfoPath step by step. Note: To con ...

  7. TFS 2013 培训视频

    最近给某企业培训了完整的 TFS 2013 系列课程,一共四天. 下面是该课程的内容安排: 项目管理     建立项目     成员的维护     Backlog 定义     任务拆分     迭代 ...

  8. Visual Studio 2013 Ultimate因为CodeLens功能导致Microsoft.Alm.Shared.Remoting.RemoteContainer.dll高CPU占用率的折中解决方案

    1.为什么Microsoft.Alm.Shared.Remoting.RemoteContainer.dll的CPU占用率以及内存使用率会那么高? 在Visual Studio 2013 Ultima ...

  9. 沙盒解决方案解决SharePoint 2013 以其他身份登陆的问题

    众所周知,SharePoint 2013没有像SharePoint 2010那样有一个叫"以其他身份登录"的菜单项. 当然解决方案也很多,比如你可以直接修改Welcome.ascx ...

  10. 实现一个基于 SharePoint 2013 的 Timecard 应用(中)

    门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...

随机推荐

  1. Visual Studio 2010/2013 查看DLL接口(函数)

    1. “应用程序" Visual Studio 2010/2013 的Visual Studio Tools文件夹中打开Visual Studio Command Prompt 命令提示窗口 ...

  2. POJ 1742 Coins (多重背包)

    Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 28448   Accepted: 9645 Descriptio ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也 ...

  4. FMDB与GCD

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠.支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 因为FMD ...

  5. cocos2dx 3.1.1移植安卓apk (lua交叉编译器项目 mac环境)

    cocos2dx 3.1.1   lua项目安卓交叉编译 mac环境 本文基于ant,sdk,ndk,adt等软件和环境已经事前设置好 1\新建项目 在mac的终端下输入命令: cocos new t ...

  6. C#中简单的写日志的方法

    public static void WriteLog(string msg)        {            string appPath = AppDomain.CurrentDomain ...

  7. Matlab学习第二天 利用插值

    插入值一切手段: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDQ5MjI1Nw==/font/5a6L5L2T/fontsize/400/fi ...

  8. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发         之前提到过, ...

  9. 安全系列之二:OAuth2.0 开放授权协议

    本文提取出OAuth2.0规范RFC6749的主要内容,部分内容从文档复制出来,给大家讲讲第三方授权背后的故事. 先是举个知乎的QQ登录授权的例子,然后讲四种授权方式,两种令牌,接着是看看协议流程,分 ...

  10. Swift # 柯里化函数

    前言 此次文章,讲述的是Swift的一个新特性(柯里化函数),可能很多iOS开发人员是第一次听这个词汇,包括我自己也是,自己也用了几天时间才总结出来,希望能帮助到各位咯,个人感觉偏向有开发经验的码友, ...