#2620: 所謂的最華麗路徑


example (學姊)

學校 : 臺北市立麗山高級中學
編號 : 6634
來源 : [60.250.138.144]
最後登入時間 :
2022-08-09 17:07:42
b172. 雷曼兔 -- 2008海峽兩岸青少年程式設計競賽 | From: [118.166.112.107] | 發表日期 : 2009-11-08 16:05

 我的想法是從 n*n 一路到 1

 比如說 3*3 的矩陣

 他的最華麗路徑就是 9 -> 8 -> 7 -> ... -> 2 -> 1 ?

 還是我想的太單純了...

 
#2621: Re:所謂的最華麗路徑


leopan0922 (zz)

學校 : 臺北市立成功高級中學
編號 : 6612
來源 : [140.113.225.106]
最後登入時間 :
2016-08-15 15:44:07
b172. 雷曼兔 -- 2008海峽兩岸青少年程式設計競賽 | From: [58.115.139.238] | 發表日期 : 2009-11-08 17:02

 我的想法是從 n*n 一路到 1

 比如說 3*3 的矩陣

 他的最華麗路徑就是 9 -> 8 -> 7 -> ... -> 2 -> 1 ?

 還是我想的太單純了...

假如是

1 2 3

4 5 6

7 8 9

很明顯不是9>8>7>6>5>4>3>2>1

應該是9>8>7>4>1這樣吧

 
#2622: Re:所謂的最華麗路徑


leopan0922 (zz)

學校 : 臺北市立成功高級中學
編號 : 6612
來源 : [140.113.225.106]
最後登入時間 :
2016-08-15 15:44:07
b172. 雷曼兔 -- 2008海峽兩岸青少年程式設計競賽 | From: [58.115.139.238] | 發表日期 : 2009-11-08 20:02

 我的想法是從 n*n 一路到 1

 比如說 3*3 的矩陣

 他的最華麗路徑就是 9 -> 8 -> 7 -> ... -> 2 -> 1 ?

 還是我想的太單純了...

假如是

1 2 3

4 5 6

7 8 9

很明顯不是9>8>7>6>5>4>3>2>1

應該是9>8>7>4>1這樣吧



我好像也想的太簡單了= = 
#2639: Re:所謂的最華麗路徑

Unknown User

b172. 雷曼兔 -- 2008海峽兩岸青少年程式設計競賽 | From: [58.115.131.86] | 發表日期 : 2009-11-09 23:42

 我的想法是從 n*n 一路到 1

 比如說 3*3 的矩陣

 他的最華麗路徑就是 9 -> 8 -> 7 -> ... -> 2 -> 1 ?

 還是我想的太單純了...

假如是

1 2 3

4 5 6

7 8 9

很明顯不是9>8>7>6>5>4>3>2>1

應該是9>8>7>4>1這樣吧



我好像也想的太簡單了= =

每步都要用題目所給公式判斷怎樣走會最大值 
#2646: Re:所謂的最華麗路徑

Unknown User

b172. 雷曼兔 -- 2008海峽兩岸青少年程式設計競賽 | From: [210.60.107.233] | 發表日期 : 2009-11-10 17:04

 我的想法是從 n*n 一路到 1

 比如說 3*3 的矩陣

 他的最華麗路徑就是 9 -> 8 -> 7 -> ... -> 2 -> 1 ?

 還是我想的太單純了...

我也是這麼想...

照這個思路code出來...

#include <stdio.h>
#include <stdlib.h>
typedef struct {
    int x;
    int y;
    int high;
}MOU;

MOU mou[2510];
MOU tmp;
int main () {
    int n;
    int p, i, j;
    int ans;
    while (scanf ("%d", &n) != EOF) {

        p = 0;    //moutain 's top
        ans = 0;
       
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                scanf("%d", &mou[p].high);
                mou[p].x = i;
                mou[p].y = j;
                p++;       
            }
        }
        //bubble sort
        for (i = 0; i < p - 1; i++) {
            for (j = 0; j < p-i-1; j++) {
                if (mou[j].high < mou[j+1].high) {    //from big to small
                    tmp = mou[j+1];
                    mou[j+1] = mou[j];
                    mou[j] = tmp;
                }
            }
        }

        int t;
        for (i = 0; i < p - 1; i++) {
            t = (abs(mou[i].x - mou[i+1].x)
            +
            abs(mou[i].y - mou[i+1].y));
            ans += (t*t);
        }
        printf("%d\n", ans);
    }
    return 0;
}

 

//=========================================

這顯然不對啊~~

 

到底要怎麼寫呢?

 
ZeroJudge Forum