题意:中文题目,题意不讲赘述。
HDU 2021
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int wages[100],temp,n;
while(scanf("%d",&n) == 1 && n)
{
int a = 0,b = 0,c = 0,d = 0,e = 0,f = 0;
for(int i = 0; i < n; i++)
scanf("%d",&wages[i]);
for(int j = 0; j < n; j++)
{
a += wages[j]/100, temp = wages[j]%100;
b += temp / 50; temp = temp%50;
c += temp / 10;temp = temp%10;
d += temp / 5, temp = temp%5;
e += temp / 2, temp = temp%2;
f += temp;
}
int x = a+b+c+d+e+f;
printf("%d\n",x);
}
return 0;
}
HDU 2022
Code:
#include <iostream>
#include <cmath>
using namespace std;
int MM[101][101];
int main()
{
int m,n,val;
int temp,a,b;
while(cin>>m>>n)
{
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
{ cin>>val; MM[i][j] = val;}
temp = 0,a = 0,b = 0;
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
if(abs((double)MM[i][j]) > abs((double)temp)) { temp = MM[i][j], a = i, b = j;}
cout<<a+1<<" "<<b+1<<" "<<temp<<endl;
}
return 0;
}
HDU 2023
Code:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
int m,n,num,flag;
double score[51][6];
double stu_aver[51],cla_aver[5];
while(scanf("%d%d",&n,&m) == 2)
{
memset(cla_aver,0,sizeof(cla_aver));
memset(stu_aver,0,sizeof(stu_aver));
num = 0, flag = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
{
scanf("%lf",&score[i][j]);
stu_aver[i] += score[i][j];
cla_aver[j] += score[i][j];
}
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
if(score[i][j] >= cla_aver[j]/n)
flag = 1;
else { flag = 0; break; }
}
if(flag) num++;
}
for(int i = 0; i < n-1; i++)
printf("%.2lf ",stu_aver[i]/m);
printf("%.2lf\n",stu_aver[n-1]/m);
for(int j = 0; j < m-1; j++)
printf("%.2lf ",cla_aver[j]/n);
printf("%.2lf\n",cla_aver[m-1]/n);
printf("%d\n\n",num);
}
return 0;
}
HDU 2024
Code:
#include <iostream>
#include <cctype>
#include <cstdio>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
getchar();
while(n--)
{
char e,a[51];
int flag = 1,i = 0;
while((e=getchar()) != '\n')
{
if(isalpha(e) || (e >= '0'&& e <= '9') || e == '_') a[i++] = e;
else flag = 0;
}
if(flag && (a[0] == '_' || isalpha(a[0])))
printf("yes\n");
else printf("no\n");
}
return 0;
}
HDU 2025
Code:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
char a[100],b;
while(gets(a))
{
int len = strlen(a);
int temp = 0; b = a[0];
for(int i = 1; i < len; i++)
if(a[i] > b) { b = a[i],temp = i;}
for(int j = 0; j < len-1; j++)
{
cout<<a[j];
if(a[j] == a[temp]) cout<<"(max)";
}
if(a[len-1] == a[temp])
cout<<a[len-1]<<"(max)"<<endl;
else cout<<a[len-1]<<endl;
}
return 0;
}
HDU 2026
Code:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char a[1000];
while(cin.getline(a,1000))
{
int len = strlen(a);
a[0] = a[0] + 'A' - 'a';
cout<<a[0];
for(int i = 1; i< len; i++)
{
if(a[i] == ' ') a[i+1] = a[i+1] + 'A' - 'a';
cout<<a[i];
}
cout<<endl;
}
return 0;
}
HDU 2027
Code:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
int n,j;
char str[101];
scanf("%d",&n);getchar();
for(int w = 1; w <= n; w++)
{
int a = 0, e = 0, i = 0, o = 0, u = 0;
cin.getline(str,101);
int len = strlen(str);
for(j = 0; j < len; j++)
{
if(str[j] == 'a') a++;
else if(str[j] == 'e') e++;
else if(str[j] == 'i') i++;
else if(str[j] == 'o') o++;
else if(str[j] == 'u') u++;
}
cout<<"a:"<<a<<endl<<"e:"<<e<<endl;
cout<<"i:"<<i<<endl<<"o:"<<o<<endl;
if(w != n)cout<<"u:"<<u<<endl<<endl;
else if(w == n) cout<<"u:"<<u<<endl;
}
return 0;
}
HDU 2028
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int gcd(int a,int b)
{
return b == 0 ? a:gcd(b,a%b);
}
int lcm(int a,int b)
{
return a/gcd(a,b)*b;
}
int main()
{
int a[10000],n,temp;
while(scanf("%d",&n) != EOF)
{
for(int i = 0; i < n; i++)
scanf("%d",&a[i]);
temp = a[0];
for(int j = 1; j< n; j++)
temp = lcm(a[j],temp);
printf("%d\n",temp);
}
return 0;
}
HDU 2029
Code:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
char a[1000];
cin>>a;
int flag = 1;
int len = strlen(a);
for(int i = 0; i <= (len-1)/2; i++)
{
if(a[i] != a[len-i-1]) {flag = 0;break;}
}
if(flag == 1) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
return 0;
}
HDU 2030
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int num,n;
scanf("%d",&n);
getchar();
while(n--)
{
char e; num = 0;
while((e=getchar()) != '\n')
{
if(e < 0) num++;
}
printf("%d\n",num/2);
}
return 0;
}
HDU 2031
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int N,R,f;
while(scanf("%d%d",&N,&R) == 2)
{
char a[50];
int i = 0,flag = 1;
if(N < 0) { flag = -1; N = -N; }
while(N)
{
f = N%R;
if(f >= 10)
a[i] = f-10+'A';
else
a[i] = f+'0';
N = N/R; i++;
}
if(flag == -1) printf("-");
for(int j = i-1; j >= 0; j--)
printf("%c",a[j]);
printf("\n");
}
return 0;
}
HDU 2032
Code:
#include <iostream>
#include <cstring>
using namespace std;
int C[101][101],n;
int main()
{
while(cin>>n)
{
memset(C,0,sizeof(C));
for(int i = 0; i< n; i++)
{
C[i][0] = 1;
for(int j = 1; j<=i; j++)
C[i][j] = C[i-1][j-1] + C[i-1][j];
}
for(int j = 0; j< n; j++)
{
for(int i = 0; i<j; i++)
cout<<C[j][i]<<" ";
cout<<C[j][j]<<endl;
}
cout<<endl;
}
return 0;
}
HDU 2033
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int hour,minute,second;
int a[6],n;
scanf("%d",&n);
while(n--)
{
for(int i = 0; i < 6; i++)
scanf("%d",&a[i]);
hour = a[0] + a[3];
minute = a[1] + a[4];
second = a[2] + a[5];
if(second >= 60)
{second -= 60, minute += 1;}
if(minute >= 60)
{minute -= 60,hour += 1;}
cout<<hour<<" "<<minute<<" "<<second<<endl;
}
return 0;
}
HDU 2034
Code:
#include <iostream>
#include <algorithm>
using namespace std;
int a[101],b[101];
int main()
{
int n,m,k;
while(cin>>n>>m && n+m)
{
for(int i = 0; i < n; i++)
cin>>a[i];
for(int j = 0; j < m; j++)
cin>>b[j];
for(int j = 0; j < m; j++)
for(int i = 0; i < n; i++)
if(a[i] == b[j])
{
k = i;
while(k < n) {a[k] = a[k+1];k++;}
n--;
}
sort(a,a+n);
if(n == 0)cout<<"NULL";
{
for(int w = 0; w < n; w++)
cout<<a[w]<<" ";
}
cout<<endl;
}
return 0;
}
HDU 2035
Code:
#include <iostream>
using namespace std;
int pow_mod(int a,int n,int m)
{
if(n==0) return 1;
int x = pow_mod(a,n/2,m);
long long ans = (long long)x * x % m;
if(n%2 == 1) ans = ans * a % m;
return (int)ans;
}
int main()
{
int A,B;
while(cin>>A>>B && A+B)
{
int temp = pow_mod(A,B,1000);
cout<<temp<<endl;
}
return 0;
}
HDU 2036
题意:多边形公式:0.5*|x1*y2-y1*x2+x2*y3-y2*x3+……+xn*y1-yn*x1|
Code:
</pre><pre name="code" class="cpp">#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
struct Node{
double x,y;
}Coordinate[100];
int main()
{
double S;
int n;
while(scanf("%d",&n) == 1 && n)
{
for(int i = 1; i <= n; i++)
cin>>Coordinate[i].x>>Coordinate[i].y;
S = Coordinate[n].x*Coordinate[1].y - Coordinate[n].y*Coordinate[1].x;
for(int j = 1; j < n; j++)
S += Coordinate[j].x*Coordinate[j+1].y - Coordinate[j].y*Coordinate[j+1].x;
printf("%.1lf\n",S/2);
}
return 0;
}
HDU 2037
Code:
#include <iostream>
#include <algorithm>
using namespace std;
struct Node{
int start,end;
bool operator < (const Node& a) const
{
return end < a.end;
}
}list[100];
int main()
{
int n,flag,j,num;
while(cin>>n && n)
{
for(int i = 0; i < n; i++)
cin>>list[i].start>>list[i].end;
sort(list,list+n);
flag = 0,j = 1,num = 1;
while(j < n)
{
if(list[j].start >= list[flag].end) {flag = j; j++; num++;}
else j++;
}
cout<<num<<endl;
}
return 0;
}
HDU 2039
Code:
#include <iostream>
using namespace std;
int main()
{
double a,b,c;
int n;
cin>>n;
while(n--)
{
cin>>a>>b>>c;
if(a+b > c && a+c > b && b+c > a) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
HDU 2040
Code:
#include <iostream>
using namespace std;
int solve(int n)
{
int temp = 0;
for(int i = 1; i<n; i++)
if(n%i == 0) temp += i;
return temp;
}
int main()
{
int a,b,n;
cin>>n;
while(n--)
{
cin>>a>>b;
if(solve(a) == b && solve(b) == a) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}