今天开始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. Xcode插件筛选

    Xcode高效插件推荐 好像很多iOS开发的同学都不知道Xcode有插件这么一说,所以整理了一下自己用的Xcode高效插件,分享给大家 下列插件在Xcode 7.0.1 版本做测试通过可以使用 在Xc ...

  2. HDU 1568 Fibonacci 数学= = 开篇

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1568 分析:一道数学题 找出斐波那契数列的通项公式,再利用对数的性质就可得到前几位的数 斐波那契通项公 ...

  3. patch与diff的恩怨

    一.概述 diff和patch是一对相辅相成的工具,在数学上来说,diff类似于对两个集合的差运算,patch类似于对两个集合的和运算.diff比较两个文件或文件集合的差异,并记录下来,生成一个dif ...

  4. Yii 的AR单行数据自动缓存机制

    相关的YII类: CActiveRecord CActiveRecordBehavior cache Active Record Active Record (AR) 是一个流行的 对象-关系映射 ( ...

  5. CMDB机柜平台结合zabbix告警展示

    前段时间看了刘天斯老师的机柜展示平台,非常绚丽,而且有大屏显示的话也是能够体现运维价值的.刚好最近自己也在协助朋友做一个开源的CMDB平台,这里就说下我们CMDB平台的一些数据: 开源项目地址:Git ...

  6. tomcat部署web项目的方式 转

    JavaWeb开发Tomcat中三种部署项目的方法,开始Java web开发必不可少的步骤,经过查找,觉得有篇文章介绍的不错 1.在conf目录中新建Catalina\localhost目录,在该目录 ...

  7. FZU2132 - LQX的作业(概率论)

    Problem Description LQX在做作业时遇到一个难题不会做,请你帮她计算一下:在N个独立地分布于0和1之间的随机变量排为非递减顺序之后,这些变量中第M个小于等于x的概率是多少? Inp ...

  8. macos 配置 golang 开发环境

    初次接触golang这门编程语言,一下子就喜欢上了,语法简洁优雅,对于以前有c/c++编程经验的人来说会更加有亲切感. 仅仅学习了一天就能应用beego框架和mogodb数据库开发一个rest api ...

  9. springMVC3学习(八)--全球异常处理

    在springMVC在配置文件: <bean id="exceptionResolver" class="org.springframework.web.servl ...

  10. 3第一周课后练习&#183;阅读计划(2)-使用指针来访问私有数据成员

    /* * Copyright (c) 2015, 计算机科学学院,烟台大学 * All rights reserved. * 文件名:test.cpp * 作 靠:刘畅 * 完成日期:2015年 3 ...