今天开始ACM训练,选择了刘汝佳的《挑战编程》,暂时算是开始了。

测评的网址:

http://www.programming-challenges.com

第一个题目是水题啦。3n+1。

也不用多久就水出来了,完全按着意思写就好了。代码也很随意。

其实我一开始就写对,知识提交方式写错了,楞是想不出来为什么,再交一次就过了。

关键就是学会一点,不要乱假设,如果以为i,j有顺序,那么就明显A不出来(但是其实也不能直接排序,因为还要再输出。)

#include<iostream>
using namespace std; int main(){ int i,j,a,p,q;
while(cin>>i>>j){
p=i;
q=j;
if(i>j){ //swap
a=i;
i=j;
j=a;
}
int maxC=0;
for(int k=i;k<=j;k++){
a=k;
int count=1;
while(a!=1){
if(a%2==0) a/=2;
else a=a*3+1;
count++;
}
if(count>maxC)
maxC=count;
}
cout<<p<<" "<<q<<" "<<maxC<<endl; }
return 0; }

第二题,是说扫雷,又是一条水题,一看就知道怎么做了。而且明显不需要考虑时间的问题,才是100*100的最坏情形。

但是,一开始我想了以下在边缘的越界怎么办,后来,想起我写的山寨消灭星星,就是采用浪费边缘数组的策略,避免判断。

之后,图书馆的书真坑爹,书的上一位借读者,写了一句“注意最后一行没有空格”。我就把要求的“空行”看成“空格”了。

巨坑爹,直到我看了原题。一个小错误都误人子弟啊。我提交了三次。第一次是忘记Field #。第二次就是所谓的“空格”问题。

#include<iostream>
#include"string.h"
using namespace std;
#define N 110
int a[N][N];
void add(int i,int j){ if(a[i][j]>=0)
a[i][j]++; }
int main(){
int n,m,i,j; char tmp;
int first=0;
while(cin>>n>>m&&(n||m)){ memset(a,0,sizeof(a)); //从1,1开始。避免越界
for(i=1;i<=n;i++)
for( j=1;j<=m;j++){
cin>>tmp;
if(tmp=='*'){
a[i][j]=-1;
for(int k=-1;k<2;k++)
for(int l=-1;l<2;l++)
if(k!=0||l!=0)
add(i+k,j+l);
} }
if(first!=0){
cout<<endl;
}
first++; //print
cout<<"Field #"<<first<<":\n";
for(i=1;i<=n;i++){
for( j=1;j<=m;j++){ if(a[i][j]>=0)
cout<<a[i][j];
else
cout<<"*";
}
cout<<endl; } } return 0;
}

第三道题是The trip.一开始我以为是贪心算法,但是看真一点,这只是一条平均数的题目。看了别人的解释就明白怎么做了。

其实也没有很麻烦,主要是“可以容许一分的差距”,让我看了很久。

#include<iostream>
using namespace std;
#define N 1020
double s[N];
int main(){ int n,i;
while(cin>>n&&n){ double res1=0,res2=0,sum=0; for( i=0;i<n;i++){
cin>>s[i];
sum+=s[i];
} sum=(int)((sum/n)*100+0.5);
sum=sum/100; for( i=0;i<n;i++){
if(s[i]<sum){ res1+=sum-s[i];
}else{
res2+=s[i]-sum; }
} cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
cout << "$" ; if(res1>res2)
cout<<res2;
else{
cout<<res1; }
cout<<endl; } return 0; }

寒假的ACM训练(一)的更多相关文章

  1. 寒假的ACM训练三(PC110107/UVa10196)

    #include <iostream> #include <string.h> using namespace std; char qp[10][10]; int result ...

  2. 计蒜客 28449.算个欧拉函数给大家助助兴-大数的因子个数 (HDU5649.DZY Loves Sorting) ( ACM训练联盟周赛 G)

    ACM训练联盟周赛 这一场有几个数据结构的题,但是自己太菜,不会树套树,带插入的区间第K小-替罪羊套函数式线段树, 先立个flag,BZOJ3065: 带插入区间K小值 计蒜客 Zeratul与Xor ...

  3. 2014暑假ACM训练总结

    2014暑假ACM训练总结报告 匆匆之中,一个暑假又过去了,在学校训练的这段日子真的是感觉日子过得好快啊! 时光如箭,日月如梭! 匆忙的学习之中一个暑假就这样结束了,现在就来写一些总结吧,供自己以后阅 ...

  4. 计蒜客 ACM训练联盟周赛 第一场 Christina式方格取数 思维

    助手Christina发明了一种方格取数的新玩法:在n*m的方格棋盘里,每个格子里写一个数.两个人轮流给格子染色,直到所有格子都染了色.在所有格子染色完后,计算双方的分数.对于任意两个相邻(即有公共边 ...

  5. 计蒜客 ACM训练联盟周赛 第一场 从零开始的神棍之路 暴力dfs

    题目描述 ggwdwsbs最近被Zeratul和Kyurem拉入了日本麻将的坑.现在,ggwdwsbs有13张牌,Kyurem又打了一张,加起来有14张牌.ggwdwsbs想拜托你帮他判断一下,这14 ...

  6. 计蒜客 ACM训练联盟周赛 第一场 Alice和Bob的Nim游戏 矩阵快速幂

    题目描述 众所周知,Alice和Bob非常喜欢博弈,而且Alice永远是先手,Bob永远是后手. Alice和Bob面前有3堆石子,Alice和Bob每次轮流拿某堆石子中的若干个石子(不可以是0个), ...

  7. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  8. 寒假ACM训练(二)

    放了假的效率明显就低起来,最近也一直在学习Ubuntu,所以一直等到今天才写. 还是在用PC. 真的十分郁闷这个LC-Display,其实从思路上是有很多.不过我最后把他当成8字,分成了七笔. 一直W ...

  9. 最近关于ACM训练与算法的总结

            到了大四以后越来越意识到基础知识的重要性,很多高屋建瓴的观点与想法都是建立在坚实的基础之上的, 招式只有在强劲的内力下才能发挥最大的作用,曾经有段时间我有这样的想法:我们出去以后和其他 ...

随机推荐

  1. HDU 4749 Parade Show 2013 ACM/ICPC Asia Regional Nanjing Online

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题目大意:给一个原序列N,再给出一个序列M,问从N中一共可以找出多少个长度为m的序列,序列中的数 ...

  2. zoj 3819 Average Score

    Average Score Time Limit: 2 Seconds      Memory Limit: 65536 KB Bob is a freshman in Marjar Universi ...

  3. RestService中的 get post put delete

    HTTP 定义了与服务器交互的不同方法,最基本的有四种方法:GET,POST,PUT,DELETE.URL即资源描述符,我们可以这样认为:一个URL地址, 用于描述一个网络上的资源,而HTTP中的GE ...

  4. Maven : 将Jar安装到本地仓库和Jar上传到私服 转

    http://blog.csdn.net/we_shell/article/details/49819221 Jar的maven配置 <dependency><groupId> ...

  5. tomcat install on Linux

    1)下载apache-tomcat-6.0.10.tar.gz 2)#tar -zxvf apache-tomcat-6.0.10.tar.gz ://解压 3)#cp -R apache-tomca ...

  6. c#判断输入textbox是否为数字

    asp.net判断输入文字是否是数字 方案一:/**//// <summary> /// 名称:IsNumberic /// 功能:判断输入的是否是数字 /// 参数:string oTe ...

  7. hdu 1247 Hat’s Words(字典树)

    Hat's Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  8. [Node.js] Web Scraping with Pagination and Advanced Selectors

    When web scraping, you'll often want to get more than just one page of data. Xray supports paginatio ...

  9. Mysql show Status参数详解

    状态名 作用域 详细解释 Aborted_clients Global 由于客户端没有正确关闭连接导致客户端终止而中断的连接数 Aborted_connects Global 试图连接到MySQL服务 ...

  10. Cocos2d的特性

    从本质上说,Cocos2d是一个图形引擎,封装了复杂的图形接口,通过抽象出精灵.动作等概念,降低了游戏开发难度,简化了开发过程.Cocos2d-x为保证游戏能方便地移植到不同平台上,又在此基础上做了很 ...