BCACM11A spoj PTIT – Phương án khuyến mãi
acm_ptit_11 Trong ngày đầu tiên phát hành các số điện thoại di động “0913.xxx.xxx”, với sáu chữ số cuối tạo thành 1 số có 6 chữ số (không có chữ số 0 ở đầu) , công ty VINAPHONE dự định khuyến mại cho N khách hàng đăng ký trước nhất các số điện thoại loại 1, M khách ...
acm_ptit_11
Trong ngày đầu tiên phát hành các số điện thoại di động “0913.xxx.xxx”, với sáu chữ số cuối tạo thành 1 số có 6 chữ số (không có chữ số 0 ở đầu) , công ty VINAPHONE dự định khuyến mại cho N khách hàng đăng ký trước nhất các số điện thoại loại 1, M khách hàng kế tiếp số điện thoại loại 2 và K khách hàng cuối cùng các số điện thoại loại 3. Các số điện thoại loại 1, loại 2 và loại 3 có tính chất sau:
- Số Loại 3: là các số điện thoại mà sáu số cuối cùng của nó tạo thành một số thuận nghịch có sáu chữ số. Ví dụ số : 0913.257752.
- Số Loại 2: là các số điện thoại Loại 3 có tổng sáu số cuối cùng của nó là một số chia hết cho 10. Ví dụ số : 0913.104401.
- Số Loại 1: là các số điện thoại Loại 2 có sáu số cuối cùng của nó không chứa bất kỳ số 0 nào. Ví dụ số : 0913.686686.
Bài toán được đặt ra là cho trước một phương án N, M, K, hãy trả lời “YES” nếu công ty VINAPHONE thực hiện được, trả lời “NO” nếu công ty không thực hiện được.
Input : Dòng đầu tiên ghi số bộ test, không lớn hơn 100. Mỗi bộ test là một bộ 3 số N, M, K được ghi trên một dòng. Các số được ghi cách nhau một vài khoảng trống.
Output: Với mỗi bộ test, in ra màn hình trên một dòng giá trị “YES” hoặc “NO” tương ứng với phương án thực hiện được, hoặc phương án không thực hiện được.
Example
Input:
5
100 100 200
50 150 200
100 50 300
120 50 500
140 50 700
Output:
NO
NO
YES
YES
NO
code tham khảo:
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 | const fi='; type data=longint; var f:text; test,n,m,k,i:data; nmax,mmax,kmax,x:data; begin assign(f,fi); reset(f); readln(f,test); nmax:=145; for i:=1 to test do begin readln(f,n,m,k); if n<=145 then begin if m<=145-n+35 then begin if k<=nmax-n+35-m+720 then begin writeln('YES'); continue; end; end; end; writeln('NO'); end; end. |
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 | #include <stdio.h> using namespace std; int test,i,k,m,n; void xuli() { if ((n<=145) && (m<=180-n) && (k<=900-m-n)) { printf("YES
"); return; } printf("NO
"); } int main() { scanf("%d",&test); for (i=1; i<=test; i++) { scanf("%d %d %d",&n,&m,&k); xuli(); } } |
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include"bits/stdc++.h" int a(int n) { int a; while(n>0) { a=n%10; if(a==0) return 0; n=n/10; } return 1; } int b(int n) { int a=0; while(n>0) { a+=n%10; n=n/10; } if(a%10==0) return 1; return 0; } int c(int n) { int a=0,b=n; while(n>0) { a=a*10+n%10; n=n/10; } if(a==b) return 1; return 0; } main() { int t,m,n,k,d1=0,d2=0,d3=0; scanf("%d",&t); for(int i=1;i<=t;i++) { scanf("%d %d %d",&n,&m,&k); for(int i=100000;i<=999999;i++) { if(b(i)&&a(i)&&c(i)) d1++; if(b(i)&&c(i)) d2++; if(c(i)) d3++; } if(n<=d1&&m<=d2-n&&k<=d3-m-n) printf("YESn"); else printf("NOn"); } } |
Bản quyền: https://kienthuc24h.com