小 (排版) |
小 (→摘要: AC) |
||
第1行: | 第1行: | ||
[[分类:简单数学问题]] | [[分类:简单数学问题]] | ||
==摘要== | ==摘要== | ||
− | {{信息题|Routine Problem|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70748#problem/J|1|100 | + | {{信息题|Routine Problem|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70748#problem/J|1|100|time=2015-02-27 12:27:09}} |
*来自寒假练习:[http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70748 2015 Winter Day 4 div1] J题 | *来自寒假练习:[http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70748 2015 Winter Day 4 div1] J题 | ||
*原题链接:http://codeforces.com/problemset/problem/337/B | *原题链接:http://codeforces.com/problemset/problem/337/B | ||
+ | |||
==题意== | ==题意== | ||
给出屏幕分辨率a:b和视频分辨率c:d,求黑边分辨率占全屏的面积。 | 给出屏幕分辨率a:b和视频分辨率c:d,求黑边分辨率占全屏的面积。 |
题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 需要注意 |
---|---|---|---|---|---|
Routine Problem | ★☆☆☆☆ | 答案正确 | 100 | 2015-02-27 12:27:09 | 无 |
给出屏幕分辨率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; } |