这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
个人感觉除了2018外都很水。直接发代码了:
// HDOJ 2011 ~ 2020
// Author: Tanky Woo
#include
#include
using namespace std;
// HDOJ 2011
/*
int m[100];
int main()
{
int n;
double tot;
scanf("%d", &n;);
for(int i = 1; i <= n; ++i)
scanf("%d", &m;[i]);
for(int i = 1; i <= n; ++i)
{
int flag = 1;
tot = 0.0;
for(int j = 1; j <= m[i]; ++j)
{
tot += flag*1.0/j;
flag = -flag;
}
printf("%.2lf\n", tot);
}
return 0;
}
*/
// HDOJ 2012
/*
bool IsPrime(int n)
{
for(int i = 2; i*i <= n; ++i)
if(n % i == 0)
return 0;
return 1;
}
int main()
{
int x, y;
while(scanf("%d %d", &x;, &y;) && (x || y))
{
int flag = 1;
for(int i = x; i <= y; ++i)
if(IsPrime(i*i+i+41) == 0)
{
flag = 0;
break;
}
if(flag)
printf("OK\n");
else
printf("Sorry\n");
}
return 0;
}
*/
// HDOJ 2013
// 找规律,每天吃掉的个数:
// 1 3 6 12 22 ...
// 相加就是总数
// 不过记的以前好像不是这个方法的。。。
/*
int main()
{
int day, t, tot = 0;
while(scanf("%d", &day;) != EOF)
{
if(day == 1)
printf("1\n");
else
{
t = 3;
tot = 3;
for(int i = 1; i < day-1; ++i)
{
t *= 2;
tot += t;
}
printf("%d\n", tot+1);
}
}
return 0;
}
*/
// HDOJ 2014
/*
int n;
int num[100];
int max_num, min_num, max_id, min_id;
int main()
{
while(scanf("%d", &n;) != EOF)
{
double sum = 0.0;
min_num = 101;
max_num = -1;
for(int i = 0; i < n; ++i)
{
scanf("%d", #[i]);
if(num[i] > max_num)
{
max_num = num[i];
max_id = i;
}
if(num[i] < min_num)
{
min_num = num[i];
min_id = i;
}
}
for(int i = 0; i < n; ++i)
{
if(i == max_id || i == min_id)
continue;
sum += num[i];
}
printf("%.2lf\n", sum/(n-2));
}
return 0;
}
*/
// HDOJ 2015
/*
int main()
{
int n, m;
while(scanf("%d %d", &n;, &m;) != EOF)
{
int cnt = 0, tot = 0;
for(int i = 0, num = 2; i < n; ++i, num += 2)
{
tot += num;
cnt++;
if(cnt == m && i != n-1) //汗,在cnt == m同时 i == n-1时要多输出空格,结果就PE了
{
printf("%d ", tot/cnt);
cnt = 0;
tot = 0;
}
else if(i == n-1)
{
printf("%d", tot/cnt);
cnt = 0;
tot = 0;
}
}
printf("\n");
}
return 0;
}
*/
// HDOJ 2016
/*
int num[101];
int min_num = 1000000, min_id;
int main()
{
int n;
while(scanf("%d", &n;)!=EOF && n)
{
min_num = 10000000;
min_id = 0;
for(int i = 0; i < n; ++i)
{
scanf("%d", #[i]);
if(min_num > num[i])
{
min_num = num[i];
min_id = i;
}
}
int temp = num[0];
num[0] = min_num;
num[min_id] = temp;
for(int i = 0; i < n; ++i)
if(i == n-1)
printf("%d\n", num[i]);
else
printf("%d ", num[i]);
memset(num, 0, sizeof(num));
}
return 0;
}
*/
// HDOJ 2017
/*
int cnt;
char arr[1000];
int main()
{
int n;
scanf("%d", &n;);
while(n--)
{
//getchar();
memset(arr, 0, sizeof(arr));
cnt = 0;
scanf("%s", arr);
for(int i = 0; i < strlen(arr); ++i)
if(arr[i] >= '0' && arr[i] <= '9')
cnt++;
printf("%d\n", cnt);
cnt = 0;
}
return 0;
}
*/
// HDOJ 2018
// 递推!
/*
int f[100], g[100];
int main()
{
f[1] = 1;
f[2] = 2;
f[3] = 3;
f[4] = 4;
f[5] = 6;
g[2] = 1;
g[3] = 1;
g[4] = 1;
g[5] = 2;
for(int i = 6; i < 55; ++i)
{
g[i] = f[i-4] + g[i-3];
f[i] = f[i-1] + g[i];
}
int year;
while(scanf("%d", &year;) && year)
{
printf("%d\n", f[year]);
}
return 0;
}
*/
// HDOJ 2019
/*
int n, m;
int num[100];
int main()
{
while(scanf("%d %d", &n;, &m;) && (n || m))
{
int id = 0;
for(int i = 0; i < n; ++i)
scanf("%d", #[i]);
for(int i = 0; i < n; ++i)
if(num[i] > m)
{
id = i;
break;
}
for(int i = 0; i < id; ++i)
printf("%d ", num[i]);
printf("%d ", m);
for(int i = id; i < n; ++i)
if(i == n-1)
printf("%d\n", num[i]);
else
printf("%d ", num[i]);
}
return 0;
}
*/
// HDOJ 2020
/*
int num[101];
int n, temp;
int main()
{
while(scanf("%d", &n;) && n)
{
for(int i = 0; i < n; ++i)
scanf("%d", #[i]);
for(int i = 0 ; i < n; ++i)
for(int j = i+1; j < n; ++j)
if(abs(num[i]) < abs(num[j]))
{
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
for(int i = 0; i < n; ++i)
if(i == n-1)
printf("%d\n", num[i]);
else
printf("%d ", num[i]);
}
return 0;
}
*/