giải bài YOUNGCLA spoj – 13380. Birthdates
Nguồn đề bài: http://www.spoj.com/PTIT/problems/YOUNGCLA/ 1. Đề bài YOUNGCLA spoj Viết chương trình tìm người trẻ nhất và già nhất trong lớp. Input Dòng 1 chứa số n (1<=n<=100), số người trong lớp. N dòng sau, mỗi dòng là thông tin 1 người có dạng: personName dd mm ...
Nguồn đề bài: http://www.spoj.com/PTIT/problems/YOUNGCLA/
1. Đề bài YOUNGCLA spoj
Viết chương trình tìm người trẻ nhất và già nhất trong lớp.
Input
Dòng 1 chứa số n (1<=n<=100), số người trong lớp.
N dòng sau, mỗi dòng là thông tin 1 người có dạng:
personName dd mm yyyy
Trong đó: personName là tên không quá 15 chữ cái, dd,mm,yyyy lần lượt là ngày, tháng, và năm sinh.
Output
Dòng 1: tên người trẻ nhất
Dòng 2: tên người già nhất
Example
Input:
5
Mickey 1 10 1991
Alice 30 12 1990
Tom 15 8 1993
Jerry 18 9 1990
Garfield 20 9 1990
Output:
Tom
Jerry
2. Hướng dẫn YOUNGCLA spoj
đây là bài tập duyệt khá đơn giản. chỉ cần đổi ngày tháng năm sang ngày rồi duyệt tìm min, tìm max là được.
3. Code tham khảo YOUNGCLA spoj
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | const fi='; nmax=100; type data=longint; var F:text; ten:array[1..nmax] of string; a:array[1..nmax] of data; n:data; procedure xuli; var i,x,y,z:data; s:char; vtmin,vtmax,min,max:data; begin assign(f,fi); reset(f); readln(f,n); for i:=1 to n do begin repeat read(f,s); if s<>' ' then ten[i]:=ten[i]+s else break; until false; readln(f,x,y,z); a[i]:=x+y*30+z*365; end; close(f); max:=0; min:=high(data); for i:=1 to n do begin if min>a[i] then begin min:=a[i]; vtmin:=i; end; if max<a[i] then begin max:=a[i]; vtmax:=i; end; end; writeln(ten[vtmax]); write(ten[vtmin]); end; begin xuli; end. |