首页 > 代码库 > Poj 2707 Copier Reduction
Poj 2707 Copier Reduction
1.Link:
http://poj.org/problem?id=2707
2.Content:
Copier Reduction
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8315 Accepted: 4389 Description
What do you do if you need to copy a 560x400mm image onto a standard sheet of US letter-size paper (which is about 216x280mm), while keeping the image as large as possible? You can rotate the image 90 degrees (so that it is in "landscape" mode), then reduce it to 50% of its original size so that it is 200x280mm. Then it will fit on the paper without overlapping any edges. Your job is to solve this problem in general.Input
The input consists of one or more test cases, each of which is a single line containing four positive integers A, B, C, and D, separated by a space, representing an AxBmm image and a CxDmm piece of paper. All inputs will be less than one thousand. Following the test cases is a line containing four zeros that signals the end of the input.Output
For each test case, if the image fits on the sheet of paper without changing its size (but rotating it if necessary), then the output is 100%. If the image must be reduced in order to fit, the output is the largest integer percentage of its original size that will fit (rotating it if necessary). Output the percentage exactly as shown in the examples below. You can assume that no image will need to be reduced to less than 1% of its original size, so the answer will always be an integer percentage between 1% and 100%, inclusive.Sample Input
560 400 218 28010 25 88 108 13 5 19 13 10 6199 333 40 275 90 218 280999 99 1 100 0 0 0Sample Output
50%100%12%66%1%100%1%Source
Mid-Central USA 2005
3.Method:
4.Code:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b,c,d; 6 int temp; 7 int e,f; 8 while((cin>>a>>b>>c>>d)&&!(a==0&&b==0&&c==0&&d==0)) 9 {10 if(a<b)11 {12 temp=a;13 a=b;14 b=temp;15 }16 if(c<d)17 {18 temp=c;19 c=d;20 d=temp;21 }22 e=c*100/a;23 f=d*100/b;24 if(e<f)25 {26 if(e>100) e=100;27 cout<<e<<"%"<<endl;28 }29 else30 {31 if(f>100) f=100;32 cout<<f<<"%"<<endl;33 }34 }35 //system("pause");36 return 0;37 }
Poj 2707 Copier Reduction
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。