D.Super Resolution
构造矩阵图形的的题,跟CCPC网络那道题差不多。
#include<bits/stdc++.h> using namespace std; char x[11][11]; char y[110][110]; //注意是char int main() { int n,m,a,b; while(~scanf("%d%d%d%d",&n,&m,&a,&b)) { for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>x[i][j]; for(int i=0;i<n*a;i++) //要分清行和列啊 { for(int j=0;j<m*b;j++) { y[i][j]=x[i/a][j/b]; //! printf("%c",y[i][j]); } printf("\n"); } } return 0; }
I.Strange Optimization
算是数学题吧,k*gcd(n,m)/(n*m)的时候取最小值,最大值正好就在两个连续最小值之间,1/2正好是个最小值,所以最大值正好跟它差gcd(n,m)/(2*n*m)。
只考虑t在[0,1)内,整数部分可以被消去。
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll gcd(ll a,ll b) { if(a<b) swap(a,b); return !b?a:gcd(b,a%b); } int main() { ll n,m; while(~scanf("%lld%lld",&n,&m)) { ll ans=n*m*2; ll x=gcd(m,n); ans/=x; printf("1/%lld\n",ans); } return 0; }