Nguồn đề bài: http://www.spoj.com/PTIT/problems/P131SUMC/
Nội dung bài viết
1. Đề bài P131SUMC spoj
Perica rất giỏi toán. Điểm yếu của anh ấy là phép cộng và phép chia. Để giúp anh ấy, giáo viên cho anh ấy bài toán sau.
Cô giáo có hình vuông 2 x 2, chứa các số nguyên dương A, B, C và D.
Giá trị của bảng là: |A/C – B/D|.
Nhiệm vụ của Perica là tìm số lần nhỏ nhất của phép quay 90 độ theo chiều kim đồng hồ sao cho giá trị của bảng là lớn nhất.
Kết quả của một lần quay theo chiều kim đồng hồ được thể hiện ở bên dưới:
Input
Dòng đầu tiên của input chứa hai số nguyên A và B cách nhau một khoảng trống.
Dòng thứ hai của input chứa hai số nguyên C và D cách nhau một khoảng trống.
Tất cả các số nguyên đều dương và không lớn hơn 100.
Output
Một số nguyên duy nhất là đáp án của bài toán.
Example
Input:
Test 1:
1 2
3 4
Test 2:
5 9
7 2
Test 3:
41 99
100 13
Output:
Test 1: 2
Test 2: 0
Test 3: 1
2. Đề bài P131SUMC PTIT spoj
Bài này không có gì đặc biệt, chỉ xử lí bình thường thôi….
a. code pascal
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 | const fi=''; type data=longint; var P:array[1..4] of data; res:data; kq:real; f:text; function tinh(a,c,b,d:data):real; begin tinh:=abs(p[a]/p[c]-p[b]/p[d]); end; begin assign(f,fi);reset(f); read(f,p[1],p[2],p[3],p[4]); close(f); res:=0; kq:=tinh(1,3,2,4); if tinh(3,4,1,2)>kq then begin kq:= tinh(3,4,1,2); res:=1; end; if tinh(4,2,3,1)>kq then begin kq:= tinh(4,2,3,1); res:=2; end; if tinh(2,1,4,3)>kq then res:=3; writeln(res); end. |
b. Code c++
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 | #include <stdio.h> #include <algorithm> #include <math.h> using namespace std; typedef int data; data p[5],res=0; float kq; float tinh(int a,int c,int b,int d) { return fabs(((float)p[a]/p[c]) -((float)p[b]/p[d])); } int main() { scanf("%d %d %d %d",&p[1],&p[2],&p[3],&p[4]); kq=tinh(1,3,2,4); if (tinh(3,4,1,2)>kq) { kq=tinh(3,4,1,2); res=1; } if (tinh(4,2,3,1)>kq) { kq=tinh(4,2,3,1); res=2; } if (tinh(2,1,4,3)>kq) res=3; printf("%d",res); return 0; } |
Bài viết liên quan
- PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC
- FINDCOW PTIT spoj – Find the Cow!
- P141PROC PTIT spoj – ROUND 1C – BIT operator
- P167PROE spoj PTIT – ROUND 7E – Phương trình
- PTIT016D spoj PTIT- ACM PTIT 2016 D – Biểu thức
- Spoj PTIT PTIT016C – ACM PTIT 2016 C – Chẵn lẻ
- PTIT127A spoj PTIT – Tổ chức kì thi
- P164SUMI spoj PTIT – ROUND 4I – Next round
- PTIT135J spoj PTIT – Tính lãi suất
- P156SUME spoj PTIT – ROUND 6E – Ước chung của chuỗi