HDOJ
liuzhushiqiang
这个作者很懒,什么都没留下…
展开
-
hdoj 3248 Strange Clock
#include #include #include #include #include #include #include #include #include #include #include #include #include#define SZ(x) (int(x.size原创 2013-03-10 17:58:10 · 596 阅读 · 0 评论 -
hdoj1013简单题
#include //第一次提交的时候由于没有考虑数据的范围,出现wa,改用string接收处理后ac了。#include using namespace std; int main() { string str; while (cin>>str&&str!="0") { while(str.length()>原创 2013-02-22 00:26:34 · 1017 阅读 · 0 评论 -
hdoj1018简单题、数学题
这道之前我自己做的时候就在想是不是有规律的啊,这么大的一个数量级是不可能没有规律的,结果写了一系列的值,最后还是一点规律都没找到,郁闷死了,看到一篇文章,原来它是跟一个数学公式有关的啊,真的不知道哦。摘录如下(转载自lnkm的博客):做这道题让我再一次深刻体会到数学的博大精深!这道题要求n!的位数,其中n最大达到10^7(即百万级),直接计算n!的值再计算位数显然是不行的,高进度模原创 2013-02-22 00:24:46 · 957 阅读 · 0 评论 -
hdoj1197简单题
#includeusing namespace std;int digits_base12(int a){ int digits = 0; while(a / 12 != 0){ digits += (a % 12); a /= 12; } digits += a; return digits;}int digits_base16(int a原创 2013-02-22 16:04:33 · 415 阅读 · 0 评论 -
hdoj1157简单题、排序
#include#includeusing namespace std;int main(){ int m; int n; int a[10005]; int temp; while(cin>>m){ for(int i = 0; i < m; i++){ cin>>n; a[i] = n; } for(int i = 0; i原创 2013-02-22 00:44:26 · 338 阅读 · 0 评论 -
hdoj1097简单题、找规律
#include#includeusing namespace std;int main(){ int m; int n; while(cin>>m>>n){ int gewei; gewei = m % 10; if(gewei == 0){ cout<<0<<endl; continue; }else if(gewei ==原创 2013-02-22 00:43:16 · 332 阅读 · 0 评论 -
hdoj1096简单题、输入输出
// hdoj_1096 A+B for Input-Output Practice (VIII) #include int main(void) { int n, m, a, sum, i, j; scanf("%d", &n); for(i = 0; i < n; i ++) { sc原创 2013-02-22 00:42:45 · 414 阅读 · 0 评论 -
hdoj1094简单题、输入输出
#include#includeusing namespace std;int main(){ int a, b; int total; while(cin>>a){ total = 0; for(int i = 0; i < a; i++){ cin>>b; total += b; } cout<<total<<endl;;原创 2013-02-22 00:41:42 · 306 阅读 · 0 评论 -
hdoj1090简单题、输入输出
#include#includeusing namespace std;int main(){ int a, b; int cases; cin>>cases; for(int i = 0; i < cases; i++){ cin>>a>>b; cout<<a + b<<endl; }}原创 2013-02-22 00:39:24 · 324 阅读 · 0 评论 -
hdoj1001简单题、大数
#includeusing namespace std;int main(){ long long int m, s = 0; while(cin>>m){ s = ((1 + m) * m) / 2; cout<<s<<endl<<endl; } return 0;}原创 2013-02-22 00:27:37 · 353 阅读 · 0 评论 -
hdoj1008简单题
#includeusing namespace std;int main(){ int m; int n; int pre; int total; for(cin>>m; m != 0; cin>>m){ cin>>n; pre = n; total = n * 6;原创 2013-02-22 00:25:19 · 290 阅读 · 0 评论 -
hdoj1219简单题、模拟题
#include#include#includeusing namespace std;int main(){ string s; int temp; while(getline(cin, s)){ int count[30] = {0}; for(int i = 0; i < s.length(); i++){ temp = s[i] - 97原创 2013-02-22 19:20:02 · 374 阅读 · 0 评论 -
hdoj1012简单题
#include#include using namespace std;int main(){ cout<<"n"<<" "<<"e"<<endl; cout<<"-"<<" "<<"-----------"<<endl; double m, n; m = 0; n = 1; m = 1; cout<<0<<"原创 2013-02-22 00:27:06 · 304 阅读 · 0 评论 -
hdoj1005简单题、找规律
#includeusing namespace std;int main(){//如果仅仅用递归或递推都会超时//关键:循环周期最大为49 int a, b, c; int f1, f2, f3; int f4[51]; f4[0] = f4[1] = 1; int index_i, index_j; for(cin>>a>>b>>c; a || b ||原创 2013-02-22 00:30:23 · 330 阅读 · 0 评论 -
hdoj1048简单题
#include#includeusing namespace std;int main(){ string m, n; while(cin>>m && m != "ENDOFINPUT"){ getline(cin, n); getline(cin, n); cin>>m; for(int i = 0; i < n.length(); i++)原创 2013-02-22 00:37:36 · 427 阅读 · 0 评论 -
hdoj 2830 Matrix Swapping II (DP求最大子矩阵的变型题)
#include #include int m, n, h[1001], num[1001]; char matrix[1001]; int main() { //freopen("in.txt", "r", stdin); while(scanf("%d %d",&m, &n) != EOF) { getchar();转载 2013-08-12 11:14:25 · 660 阅读 · 0 评论 -
HDU 1505 City Game
这题是HDU1506 的加强版,只要把算出以i 行为底能达到的最到的最大高度,再扫描每一行,就转化为 HDU1506 的问题了,即算出以此点为最低点能两边延伸的最大距离,最大延伸距离乘以该点的高度就是面积了,HDU 2870 则是此题的加强版。#include#include#define M 1005int a[M][M],l[M],r[M];int main(){ in转载 2013-08-12 08:49:34 · 506 阅读 · 0 评论 -
hdoj 1506 Largest Rectangle in a Histogram
DP 找出 a[i] 的左边和右边与自己连着的比自己大的数的长度 , 然后用这个长度乘以 a[i], 乘积最大的那个就是答案 .#include#include#define LL long long#define N 100005int i,n,t;LL a[N],l[N],r[N],max;int main(){ while (scanf("%d",&n) &&转载 2013-08-11 22:51:31 · 974 阅读 · 0 评论 -
hdu 4297 One and One Story (维护森林中的LCA)
题意:有n个房间,每个房间有且只有一条出边指向另一个房间,现给出两个人在两个房间,问让他俩汇合要走的最少的路径数解法:观察图的形态,由于n个点n条边,且每个点出度为1,因此可以认为是一个森林,森林里每棵树都加了一条边形成了一个环,且环是根节点(可以认为缩点后没有出边,即没有父节点)。显然两点属于不同树的时候不可达;因为图的特殊性,因此没有用强连通做,而是用了并查集判环,也便于给环上每个点标转载 2013-08-12 09:26:06 · 1401 阅读 · 0 评论 -
hdoj1098简单题、找规律
#include#includeusing namespace std;int main(){ int m; while(cin>>m){ int i = 0; for(i; i < 65; i++){ if((18 + m * i) % 65 == 0){ cout原创 2013-02-22 19:27:26 · 494 阅读 · 0 评论 -
hdoj1202简单题、模拟题
题目本身有问题。首先学分和分数要求是实型的而不是整型的,这就要求用double,其次题目有个地方没说清楚,就是GPA不存在的情况,全都旷课算不存在,同时GPA为零也算不存在。# include # include using namespace std;void main(){ int n; while(cin>>n) { double credit,sc原创 2013-02-22 18:44:40 · 967 阅读 · 0 评论 -
hdoj1201简单题、模拟题
测试数据:101980-02-29-11988-03-0365741987-03-0365751970-03-0365751988-02-0265751987-02-0265751970-02-0265741988-02-2865751970-02-2865741987-02-286575Press any原创 2013-02-22 17:38:54 · 406 阅读 · 0 评论 -
hdoj1196简单题
#includeusing namespace std;int main(){ int m; int lowest_bit; while(cin>>m && m != 0){ lowest_bit = 1; while((m % 2) == 0){ lowest_bit *= 2; m = m / 2; } cout<<lowest_原创 2013-02-22 15:51:07 · 377 阅读 · 0 评论 -
hdoj1194简单题
#includeusing namespace std;int main(){ int a, b; int cases; cin>>cases; for(int i = 0; i < cases; i++){ cin>>a>>b; if(a < b){ cout<<"impossible"<<endl; continue; } i原创 2013-02-22 15:26:05 · 493 阅读 · 0 评论 -
hdoj1092简单题、输入输出
#include#includeusing namespace std;int main(){ int a, b; int total; while(cin>>a && a != 0){ total = 0; for(int i = 0; i < a; i++){ cin>>b; total += b; } cout<<total原创 2013-02-22 00:40:29 · 384 阅读 · 0 评论 -
hdoj1089简单题、输入输出
#include#includeusing namespace std;int main(){ int a, b; while(cin>>a>>b){ cout<<a + b<<endl; }}原创 2013-02-22 00:38:53 · 416 阅读 · 0 评论 -
hdoj1205简单题、模拟题
# include //找规律# include using namespace std;int main(){ int m; int n; double a, max, total; cin>>m; for(int i = 0; i < m; i++){ cin>>n; cin>>a; max = a; total = a; for(int j = 1; j原创 2013-02-22 18:59:44 · 417 阅读 · 0 评论 -
hdoj1095简单题、输入输出
#include#includeusing namespace std;int main(){ int a, b; while(cin>>a>>b){ cout<<a + b<<endl<<endl; }}原创 2013-02-22 00:42:14 · 351 阅读 · 0 评论 -
hdoj1002大数
#includeusing namespace std;int main(){ int a; cin>>a; char ch_arr1[1005], ch_arr2[1005]; int ch_arr3[1005]; for(int i = 0; i < a; i++){ cin>>ch_arr1>>ch_arr2; //char *ch_原创 2013-02-22 00:31:49 · 355 阅读 · 0 评论 -
hdoj1039简单题、字符串处理
#include//代码有些地方还不够简洁#include#include using namespace std;bool is_vowel(char ch){ if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u'){ return true; }else{ return fals原创 2013-02-21 15:37:05 · 424 阅读 · 0 评论 -
hdoj1049简单题、模拟题
#includeusing namespace std;int main(){ int n, u, d; int distance; int time; while(cin>>n>>u>>d && n != 0){ distance = n; time = 0; while(distance > 0){ distance -= u; t原创 2013-02-21 15:35:48 · 464 阅读 · 0 评论 -
hdoj1029简单题
#includeint main(){ int n,num,max; while(scanf("%d",&n)!=EOF) { int times[32768]={0};//由于题目没有给数据范围,碰巧这样也能过 for(int i=1;i<=n;i++) { scanf("%d"原创 2013-02-21 15:29:29 · 479 阅读 · 0 评论 -
hdoj1032简单题
#include #include using namespace std; int main() { int m,n; while (cin>>m>>n) { int result=0,max,min; //①此处最为关键,因为题目中并未指明输入大的在前原创 2013-02-21 15:28:32 · 414 阅读 · 0 评论 -
hdoj1037简单题
//水题#include using namespace std;int main(){ int a, b, c, min; while (cin >> a >> b >> c) { min = a; if (b < min) min = b; if (c < min) min = c; if (min > 168) cout << "NO原创 2013-02-21 15:38:29 · 326 阅读 · 0 评论 -
hdoj1038简单题
#include#include using namespace std;int main(){ const float pi = 3.1415927; float diameter_inch; int circle; float time_sec; int count = 1; while(cin>>diameter_inch>>circle>>time_原创 2013-02-21 15:37:55 · 380 阅读 · 0 评论 -
hdoj1040简单题
#includeusing namespace std;int main(){ int m, n; cin>>m; for(int k = 0; k < m; k++){//处理每一行 cin>>n; int a[1005]; for(int i = 0; i < n; i++){//处理每行的每个值 cin>>a[i]; }原创 2013-02-21 15:36:25 · 265 阅读 · 0 评论 -
hdoj1056简单题
#includeusing namespace std;int main(){ double m; double distance; int count; while(cin>>m && m != 0){ count = 1; distance = 1.0 / 2; while(distance < m){ count++; dista原创 2013-02-21 15:35:09 · 316 阅读 · 0 评论 -
hdoj1064简单题
#include#includeusing namespace std;double round(double a){ if(a * 100 - floor(a * 100) >= 0.5){ a = (a * 100 + 1) / 100; } return floor(a * 100) / 100;}int main(){ double m ;原创 2013-02-21 15:34:28 · 312 阅读 · 0 评论 -
hdoj1065简单题
#include#include#define PI 3.1415926//oj上的数据不太好,只有PI = 3.1415926时才能过。using namespace std;int main(){ int m; double x, y; cin>>m; for(int i = 0; i < m; i++){ cin>>x>>y; double s原创 2013-02-21 15:33:20 · 411 阅读 · 0 评论 -
hdoj1076简单题
#includeusing namespace std;bool is_leap(int year){ if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){ return true; }else{ return false; }}int main(){ int m; int原创 2013-02-21 15:32:02 · 389 阅读 · 0 评论