(以“分类:简单数学问题 ==摘要== {{信息题|Routine Problem|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70748#problem/J|1|100|输出顺序|1|t...”为内容创建页面) |
小 (排版) |
||
第19行: | 第19行: | ||
*把c0和d0约分即可 | *把c0和d0约分即可 | ||
*c拉伸到a也是类似的: | *c拉伸到a也是类似的: | ||
− | c0=a; | + | c0=a; |
− | d0=a*d/c; | + | d0=a*d/c; |
− | a0=a; | + | a0=a; |
− | b0=b; | + | b0=b; |
*乘以c约分即可: | *乘以c约分即可: | ||
− | c0=a*c; | + | c0=a*c; |
− | d0=a*d; | + | d0=a*d; |
− | a0=a*c; | + | a0=a*c; |
− | b0=b*c; | + | b0=b*c; |
==代码== | ==代码== | ||
{{折叠|337B.java代码已折叠 | {{折叠|337B.java代码已折叠 |
题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 失误原因(初次提交分数) |
---|---|---|---|---|---|
Routine Problem | ★☆☆☆☆ | 答案正确 | 100 | 2015-02-27 12:27:09 | 输出顺序(1) |
给出屏幕分辨率a:b和视频分辨率c:d,求黑边分辨率占全屏的面积。
c0=b*c/d; d0=b; a0=a; b0=b;
c0=c*b; d0=b*d; a0=a*d; b0=b*d;
c0=a; d0=a*d/c; a0=a; b0=b;
c0=a*c; d0=a*d; a0=a*c; b0=b*c;
337B.java代码已折叠
展开折叠内容
|
---|
#include<cstdio> #include<iostream> #include<string> #include<vector> #include<iomanip> #include<algorithm> #include<cstring> #include<cmath> #include<bitset> #include<set> #include<sstream> #include<utility> using namespace std; //数据类型// #define llu unsigned long long #define lld long long //定义默认类型// typedef lld num; #define dsi(n) num n;scanf("%lld",&n) #define si(n) scanf("%lld",&n) //其它// #define reset(x) memset(x,0,sizeof(x)) #define ci const num& #define sqr(x) ((x)*(x)) #define f(i,n) for(num i=1;i<=n;++i) #define ff(i,r,n) for(num i=r;i<=n;++i) #define fi(n) f(i,n) #define f0(i,n) for(num i=0;i!=n;++i) #define fd(i,n) for(num i=n;i>=1;--i) #define foreach(i,s) for(typeof(s.begin()) i=s.begin();i!=s.end();++i) #define rforeach(i,s) for(typeof(s.rbegin()) i=s.rbegin();i!=s.rend();++i) #define iforeach(i,s) int idx=0;for(typeof(s.begin()) i=s.begin();i!=s.end();++i,++idx) #define Vector2 pair<num,num> #define vector2(x,y) make_pair(x,y) #define x first #define y second void printD(num x,num y) { if(x==0){cout<<"0/1"<<endl;return;} for(int i=2;i<=x;++i)//fixed:from2避免死循环// { while(y%i==0&&x%i==0) y/=i,x/=i; } cout<<x<<"/"<<y; } int main() { dsi(a); dsi(b); dsi(c); dsi(d); if(a*d>b*c)//右边空隙,上下补足// { printD(a*d-c*b,a*d); } else { printD(c*b-a*d,c*b); } return 0; } |