Main Page   Class Hierarchy   Compound List   File List   Contact   Download   Symbolic Constraints   Examples  

atos.c

00001 #include<scil/scil.h>
00002 #include<LEDA/stream.h>
00003 #include<fstream.h>
00004 
00005 #define BIGM 100000000
00006 #define ADD 1000000
00007 
00008 int main(int argc, char** argv) {
00009   ifstream is(argv[1]);
00010 
00011   int n;
00012   is>>n;  
00013 
00014   int M[2*n][2*n];
00015 
00016   for(int i=0; i<n; i++) for(int j=0; j<n; j++) {
00017     M[2*i][2*j]=BIGM;
00018     M[2*i+1][2*j+1]=BIGM;
00019   };
00020 
00021 
00022   int k,l;
00023   for(int i=0; i<n; i++) {
00024     for(int j=0; j<n; j++) {
00025       is>>k; l=k+ADD; if(l>BIGM) l=BIGM;
00026       M[2*i][2*j+1]=l;
00027       M[2*j+1][2*i]=l;
00028     }
00029   };
00030 
00031   for(int i=0; i<n; i++) {
00032     M[2*i][2*i+1]=0;
00033     M[2*i+1][2*i]=0;
00034   }
00035 
00036   for(int i=0; i<2*n; i++) {
00037     M[i][i]=0;
00038   };
00039 
00040   cout<<"NAME: bla\n";
00041   cout<<"TYPE: TSP\n";
00042   cout<<"COMMENT: none\n";
00043   cout<<"DIMENSION: "<<2*n<<endl;
00044   cout<<"EDGE_WEIGHT_TYPE: EXPLICIT\n";
00045   cout<<"EDGE_WEIGHT_FORMAT: FULL_MATRIX\n";
00046   cout<<"DISPLAY_DATA_TYPE: NO_DISPLAY\n";
00047 
00048   cout<<"EDGE_DATA_FORMAT: EDGE_LIST\n";
00049 
00050   cout<<"EDGE_DATA_SECTION\n";
00051   for(int i=0; i<2*n; i++) {
00052     for(int j=0; j<2*n; j++) {
00053       if(M[(i-2+2*n) % (2*n)][(j-2+2*n) % (2*n)]<BIGM) cout<<(i-2+2*n) % (2*n)<<" "<<(j-2+2*n) % (2*n)<<endl;
00054     }
00055   }
00056   cout<<"-1\n";
00057 
00058 /*
00059   cout<<"FIXED_EDGES_SECTION\n";
00060   for(int i=0; i<n; i++) cout<<2*i<<" "<<2*i+1<<endl;
00061   cout<<"-1\n";
00062 */
00063 
00064   cout<<"EDGE_WEIGHT_SECTION\n";
00065   for(int i=0; i<2*n; i++) {
00066     for(int j=0; j<2*n; j++) {
00067       cout<<M[(i-2+2*n) % (2*n)][(j-2+2*n) % (2*n)]<<" ";
00068     }
00069     cout<<endl;
00070   }
00071 
00072   cout<<"EOF"<<endl;
00073 
00074   return 0;
00075 }
00076 

Generated on Tue Nov 16 15:18:13 2004 for SCIL by doxygen1.2.16