标签:void eof max contain clu sed tom 直接 rip
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int read(){ char ch=getchar(); int f=1,an=0; while(!(‘0‘<=ch&&ch<=‘9‘)){if(ch==‘-‘)f=-f;ch=getchar();} while(‘0‘<=ch&&ch<=‘9‘){an=an*10+(ch-‘0‘);ch=getchar();} return an*f; } int n,m,sum; int x,y,z; int a[100+99][100+99]; void P1(int n,int m){ cout<<sum<<endl; for(int i=1;i<=n;i++){ if(i&1){ for(int j=1;j<m;j++)cout<<"R";if(i!=n)cout<<"D";} else { for(int j=1;j<m;j++)cout<<"L";if(i!=n)cout<<"D";} } cout<<endl; } void P2(int n,int m){ cout<<sum<<endl; for(int i=1;i<=m;i++){ if(i&1){ for(int j=1;j<n;j++)cout<<"D";if(i!=m)cout<<"R";} else{ for(int j=1;j<n;j++)cout<<"U";if(i!=m)cout<<"R";} } cout<<endl; } void P5(int a,int b,int c,int d){ int e=a; e=(e-1)>>1; for(int i=1;i<=e;i++){ for(int j=1;j<d;j++)cout<<"R";cout<<"D"; for(int j=1;j<d;j++)cout<<"L";cout<<"D";} int k=1,z=1;bool flag=1; while(z<d){ if(z==b){cout<<"R";z++;} else{ if(flag){cout<<"DR";flag^=1;z++;} else {cout<<"UR";flag^=1;z++;} } } if(b!=m)cout<<"D"; c>>=1;c-=e; for(int i=2;i<=c;i++){ if(i==2)cout<<"D"; for(int j=1;j<d;j++)cout<<"L";cout<<"D"; for(int j=1;j<d;j++)cout<<"R";if(i!=c)cout<<"D";} } void P3(int n,int m){ cout<<sum-a[x][y]<<endl; P5(x,y,n,m); cout<<endl; } void G(){sum=0;n=m=0;} int main(){ while(scanf("%d%d",&n,&m)!=EOF){ z=9999999; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){a[i][j]=read();sum+=a[i][j]; if((i+j)&1)if(z>a[i][j]){z=a[i][j];x=i;y=j;} } if(n&1)P1(n,m); else if(m&1)P2(n,m); else P3(n,m); G(); } return 0; }
by:s_a_b_e_r
A X C X
X C X C
C X C X
X C X B
hdu5402:Travelling Salesman Problem
标签:void eof max contain clu sed tom 直接 rip
原文地址:http://www.cnblogs.com/ck666/p/7462510.html