HDOJ 2020 && 2021 && 2022

来源:互联网 发布:temp在c语言 编辑:程序博客网 时间:2024/04/28 03:25

绝对值排序

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 48819    Accepted Submission(s): 23491


Problem Description
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
 

Input
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。 
 

Output
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
 

Sample Input
3 3 -4 24 0 1 2 -30
 

Sample Output
-4 3 2-3 2 1 0
 

Author
lcy
 

发工资咯:)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 36553    Accepted Submission(s): 20403


Problem Description
作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵
但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢?
这里假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。
 

Input
输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示老师的人数,然后是n个老师的工资。
n=0表示输入的结束,不做处理。
 

Output
对于每个测试实例输出一个整数x,表示至少需要准备的人民币张数。每个输出占一行。
 

Sample Input
31 2 30
 

Sample Output
4
 

Author
lcy
 

海选女主角

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 38150    Accepted Submission(s): 17141


Problem Description
potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口。
“做什么比较挣钱呢?筛沙子没力气,看大门又不够帅...”potato老师很是无奈。
“张艺谋比你还难看,现在多有钱呀,听说还要导演奥运开幕式呢!你为什么不去娱乐圈发展呢?”lwg在一旁出主意。
嗯,也是,为了生存,就委屈点到娱乐圈混混吧,马上就拍一部激光电影《杭电记忆——回来我的爱》。
说干就干,马上海选女主角(和老谋子学的,此举可以吸引媒体的眼球,呵呵),并且特别规定,演员必须具有ac的基本功,否则直接out!
由于策划师风之鱼(大师级水王)宣传到位,来应聘的MM很多,当然包括nit的蛋糕妹妹等呼声很高的美女,就连zjut的jqw都男扮女装来应聘(还好被安全顾问hdu_Bin-Laden认出,给轰走了),看来娱乐圈比acm还吸引人哪...
面试那天,刚好来了m*n个MM,站成一个m*n的队列,副导演Fe(OH)2为每个MM打了分数,分数都是32位有符号整数。
一开始我很纳闷:分数怎么还有负的?Fe(OH)2解释说,根据选拔规则,头发染成黄色、化妆太浓、穿的太少等等都要扣分数的,扣的多了就可能是负分了,当然,如果发现话语中夹有日语,就直接给-2147483648分了。
分数送上来了,是我做决定的时候了,我的一个选拔原则是,要选一个面试分数绝对值(必须还是32位整数)最大的MM。
特别说明:如果不幸选中一个负分的MM,也没关系,因为我觉得,如果不能吸引你,那要想法恶心你。
 

Input
输入数据有多组,每组的第一行是两个整数m和n,表示应聘MM的总共的行列数,然后是m行整数,每行有n个,m和n的定义见题目的描述。
 

Output
对于每组输入数据,输出三个整数x,y和s,分别表示选中的MM的行号、列号和分数。
note:行号和列号从一开始,如果有多个MM的分数绝对值一样,那么输出排在最前面的一个(即行号最小的那个,如果行号相同则取列号最小的那个)。 
 

Sample Input
2 31 4 -3-7 3 0
 

Sample Output
2 1 -7
 

Author
lcy
 

没啥好说的,修修改改就过了。

#include<iostream>#include<cstdio>#include<cmath>using namespace std;int main(){    int n,i,j;    while(cin >> n && n!=0){        int a[120];        for (i=1;i<=n;i++) scanf("%d",&a[i]);        int temp;        for (i=n-1;i>=1;i--){            for (j=1;j<=i;j++){                if(abs(a[j])<= abs(a[j+1])){                    temp=a[j+1];                    a[j+1]=a[j];                    a[j]=temp;                }            }        }        for (i=1;i<=n;i++)            if(i==1)printf("%d",a[i]);            else printf(" %d",a[i]);        printf("\n");    }    return 0;}

#include<iostream>#include<cstdio>using namespace std;int main(){    int n;    while (cin >> n && n != 0){        int sum=0;        while(n--){            int ini;            scanf("%d",&ini);            sum += ini / 100;            ini = ini % 100;            sum += ini / 50;            ini = ini % 50;            sum += ini / 10;            ini = ini % 10;            sum += ini / 5;            ini = ini % 5;            sum += ini / 2;            ini = ini % 2;            sum += ini / 1;        }        cout << sum<<endl;    }    return 0;}

#include<stdio.h>#include<math.h>typedef struct{    int x;    int y;    int value;}TEMP;int main(){    int a[500][500];    int i,j;    int n,m;    while(scanf("%d%d",&n,&m)!= EOF){    for (i=1;i<=n;i++)        for (j=1;j<=m;j++)            scanf("%d",&a[i][j]);/*    for (i=1;i<=n;i++)        for (j=1;j<=m;j++)            printf("%d ",a[i][j]);*/    TEMP temp;    temp.value=a[1][1];    temp.x=temp.y=1;    for (i=1;i<=n;i++)        for (j=1;j<=m;j++){            //printf("\ntemp=%d a[%d][%d]=%d\n",temp.value,i,j,a[i][j]);            if (abs(temp.value)<abs(a[i][j])){                temp.value=a[i][j];                temp.x=i;                temp.y=j;            }        }    printf("%d %d %d\n",temp.x,temp.y,temp.value);    }    return 0;}



0 0
原创粉丝点击