ZOJ 入门

  • 以前只刷过南阳OJ,真正看实际意义上的ACM,还是输在英语上……
  • 没那么多时间分配在刷acm上,高数和英语绝不能停,只能晚上固定一两道,知足了……

ZOJ1037-Gridland

思路

这道题是水题,计算旅行商在全国城镇 $m*n$ 最短旅行的长度(回到出发点),只能走周围的点(包括倾斜 45°),假设水平垂直方向相邻的点的距离为1,则倾斜 45°相邻的点距离为1.41(保留小数点后两位)。
稍微举几个例子可以发现规律:只有 $m$ $n$ 均为奇数,走到最后需要走45°的路线回到出发点总距离最短。则有:

  • $m$和$n$均为奇数时,总路程为 $m*n+0.41$
  • 其余情况的总路程为 $m*n$

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
using namespace std;

int main(){
int x,m,n;
cin>>x;
for(int i=1; i<=x; i++){
cin>>m>>n;
cout<<"Scenario #"<<i<<":"<<endl;
if((m&1)&&(n&1)) //活用位操作符
cout<<(m*n+0.41)<<endl<<endl;
else
cout<<setprecision(2)<<fixed<<((double)m*n)<<endl<<endl;
}
return 0;
}

ZOJ1048-Financial Management

更水,求平均数,当过下格式吧……

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;

int main(){
int n = 12;
double i=0,j;
while(n--){
cin>>j;i=i+j;
}
cout<<"$"<<i/12<<endl;
}
文章目录
  1. 1. ZOJ1037-Gridland
    1. 1.1. 思路
    2. 1.2. 代码
  2. 2. ZOJ1048-Financial Management

20160413-acm-10/

本页二维码