嘛嘛……作为一只滚回去高考的高三退役OIer,抱着打酱油的心态回来再参加一次NOIP……

  今天刚好有心情,还是补一篇题解吧,权当弥补一下没啥时间给学弟学妹(雾)们讲题的补偿……

  P.S. 由于高三了= =所以没A的题就不改了……就写写暴力思路好了

    其实之前也做了几场比赛,不过时间关系就没写题解……

    不过断了这么久大概已经没人会看到了吧……0.0哇一不小心就1点多了

 


 

Day1

magic

  题目难度很和谐= =签到题,然而本弱鸡写的太慢了囧,被旁边的高二学弟完虐(大雾)

  做法:直接分情况讨论模拟吧……

 1 //SX-064 Tunix NOIP2015 day1 T1
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cstdlib>
 5 #include<iostream>
 6 #include<algorithm>
 7 #define rep(i,n) for(int i=0;i<n;i++)
 8 #define F(i,j,n) for(int i=j;i<=n;++i)
 9 #define D(i,j,n) for(int i=j;i>=n;--i) 
10 using namespace std;
11 
12 typedef long long LL;
13 const int N=50;
14 
15 int a[N][N],n;
16 
17 int main(){
18     freopen("magic.in","r",stdin);
19     freopen("magic.out","w",stdout);
20     scanf("%d",&n);
21     
22     a[1][n/2+1]=1;
23     int x=1,y=n/2+1;
24     
25     F(i,2,n*n){
26         if (x==1 && y!=n){
27             a[n][y+1]=i;
28             x=n; y=y+1;
29         }
30         else if (y==n && x!=1){
31             a[x-1][1]=i;
32             x=x-1; y=1;
33         }
34         else if (x==1 && y==n){
35             a[2][n]=i;
36             x=2;
37         }
38         else if (x!=1 && y!=n){
39             if (a[x-1][y+1]==0){
40                 a[x-1][y+1]=i;
41                 x=x-1; y=y+1;
42             }else{
43                 a[x+1][y]=i;
44                 x=x+1;
45             }
46         }
47     }
48     F(i,1,n)
49         F(j,1,n) printf("%d%c",a[i][j],j==n ? '\n' : ' ');
50     return 0;
51 }
View Code

相关文章:

  • 2021-07-15
  • 2021-06-19
  • 2021-10-10
  • 2021-10-10
  • 2021-05-20
  • 2022-02-20
  • 2021-10-15
  • 2021-12-04
猜你喜欢
  • 2021-07-22
  • 2021-11-30
  • 2021-12-31
  • 2021-08-03
相关资源
相似解决方案