zoukankan      html  css  js  c++  java
  • 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 280
    10 25 88 10
    8 13 5 1
    9 13 10 6
    199 333 40 2
    75 90 218 280
    999 99 1 10
    0 0 0 0
    

    Sample Output

    50%
    100%
    12%
    66%
    1%
    100%
    1%
    

    Source

    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        else
    30        {
    31            if(f>100) f=100;
    32            cout<<f<<"%"<<endl;
    33        }
    34     }
    35     //system("pause");
    36     return 0;
    37 }
  • 相关阅读:
    Unity Shader (三)Surface Shader机制
    Unity Shader (二)Cg语言
    Unity Shader (一)ShaderLab 语法
    Pytorch笔记 (3) 科学计算2
    两种方法实现斐波那契数列
    根据输入的整数n使得输出精确到小数n位
    算法竞赛入门 —— 循环结构 习题
    Pytorch笔记 (3) 科学计算1
    算法竞赛入门 (一)语言篇 循环结构
    C++编译错误提示 [Error] name lookup of 'i' changed for ISO '
  • 原文地址:https://www.cnblogs.com/mobileliker/p/4068278.html
Copyright © 2011-2022 走看看