80 報數問題 浙江工商大學oj

2021-10-19 09:08:57 字數 1218 閱讀 1506

思路:

報數的人是第幾個,不是陣列序號

//    0 1 2

// 1 2 0

// 0 2

// *

//// 0 1 2 3 4 5 6

// 1 2 0 1 2 0 1

// 2 0 1 2 0

// 1 2 0

// 0 1

// *

方法一:

(超時)

#include

intmain()

;//每一位為0表示未被淘汰

sum=

0;i=

0;k=0;

//k為報的數字,sum為被淘汰多少人

while(1

)}i++

;//下乙個人報數

if(i>n-1)

//i超過下表n-1de時候(第n個人),從0號人重新開始遍歷

i=0;

}printf

("%d\n"

,i+1);

}return0;

}

方法二:

(超時)

#include

intmain()

while

(flag!=1)

}}}for

(tag=

0;tag)//尋找未淘汰的人

if(a[tag]==0

)break

;printf

("%d\n"

,tag+1)

;}return0;

}

方法三:

//(舊-num)% sum = 新 —> 舊 =(新+num)% sum
具體的分析見->約瑟夫問題

#include

#define num 3

intysh

(int sum,

int num,

int n)

else

}int

main()

return0;

}

2048 浙江工商大學oj

方法一 include include include intmain b 4 scanf d d d d a 0 a 1 a 2 a 3 k 3 for int j 3 j 0 j memset a,0 sizeof a v 3 if b 2 b 3 else if b 2 b 1 else if...

浙江工商大學python題庫 浙江工商大學

浙江工商大學 我要認證 登入管理後台 浙江工商大學坐落於風景秀麗的浙江省會城市杭州市,是一所辦學歷史悠久的省屬重點大學。前身是建立於1911年的杭州中等商業學堂,至今已有100多年的辦學歷史,是近代中國最早培養商業專門人才的學校之一。有章乃器 駱耕漠等著名校友。學校先後隸屬於原國家商業部和國內 部 ...

A B X 浙江工商大學oj 詳細解析版

超時 最容易想到的,時間複雜度o n n 我一以為先排個序,在巢狀迴圈會快點,能ac掉,提交後發現還是我想多了 include include using namespace std intmain if tag 0 break if tag cout no return0 空間換時間的 今天剛學了...