Advertisement
Patrickmeme

Untitled

Dec 10th, 2022
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int v[1000][1000],frv[7984010];
  4. int main()
  5. {
  6.     int n,col,lin,s,ccol,clin,i,max,cnt;
  7.     FILE *fin,*fout;
  8.     fin=fopen("tinta.in","r");
  9.     fout=fopen("tinta.out","w");
  10.     fscanf(fin,"%d",&n);
  11.     v[0][0]=1;
  12.     i=2;
  13.     ccol=1;
  14.     clin=0;
  15.     s=1;
  16.     while((ccol!=n-1)||(clin!=n-1)){
  17.         ///merge sus
  18.         if(s==0){
  19.             v[ccol][clin]=i;
  20.             i++;
  21.             while(ccol<n-1 && clin>0){
  22.                 ccol++;
  23.                 clin--;
  24.                 v[ccol][clin]=i;
  25.                 i++;
  26.             }
  27.             if(ccol==n-1)
  28.                 clin++;
  29.             else
  30.                 ccol++;
  31.         }else{///merge jos
  32.             v[ccol][clin]=i;
  33.             i++;
  34.             while(ccol>0 && clin<n-1){
  35.                 clin++;
  36.                 ccol--;
  37.                 v[ccol][clin]=i;
  38.                 i++;
  39.             }
  40.             if(clin==n-1)
  41.                 ccol++;
  42.             else
  43.                 clin++;
  44.         }
  45.         s=(s+1)%2;
  46.     }
  47.     v[n-1][n-1]=n*n;
  48.     for(col=0;col<n;col++){
  49.         for(lin=0;lin<n;lin++)
  50.             fprintf(fout,"%d ",v[lin][col]);
  51.         fprintf(fout,"\n");
  52.     }
  53.     max=0;
  54.     for(col=1;col<n-1;col++){
  55.         for(lin=1;lin<n-1;lin++){
  56.             frv[v[lin-1][col]+v[lin][col-1]+v[lin-1][col-1]+v[lin+1][col-1]+v[lin-1][col+1]+v[lin+1][col]+v[lin][col+1]+v[lin+1][col+1]]=v[lin-1][col]+v[lin][col-1]+v[lin-1][col-1]+v[lin+1][col-1]+v[lin-1][col+1]+v[lin+1][col]+v[lin][col+1]+v[lin+1][col+1];
  57.             if(v[lin-1][col]+v[lin][col-1]+v[lin-1][col-1]+v[lin+1][col-1]+v[lin-1][col+1]+v[lin+1][col]+v[lin][col+1]+v[lin+1][col+1]>max)
  58.                 max=v[lin-1][col]+v[lin][col-1]+v[lin-1][col-1]+v[lin+1][col-1]+v[lin-1][col+1]+v[lin+1][col]+v[lin][col+1]+v[lin+1][col+1];
  59.         }
  60.     }
  61.     cnt=0;
  62.     for(i=0;i<=max;i++){
  63.         if(frv[i]>0){
  64.             cnt++;
  65.         }
  66.  
  67.     }
  68.     fprintf(fout,"%d\n",cnt);
  69.     for(i=0;i<=max;i++){
  70.         if(frv[i]>0){
  71.             fprintf(fout,"%d ",frv[i]);
  72.         }
  73.  
  74.     }
  75.     return 0;
  76. }
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement