2023年藍橋杯 初賽試題 轉方陣

2022-08-30 15:45:23 字數 810 閱讀 6000

問題描述:

對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號

例如,如下的方陣:

1  2  3  4

5  6  7  8

9 10 11 12

13 14 15 16

轉置後變為:

1  5  9 13

2  6 10 14

3  7 11 15

4  8 12 16

但,如果是對該方陣順時針旋轉(不是轉置),卻是如下結果:

13  9  5  1

14 10  6  2

15 11  7  3

16 12  8  4

下面的**實現的功能就是要把乙個方陣順時針旋轉。

void rotate(int* x, int rank)

{ int* y = (int*)malloc(___________________); // 填空

for(int i=0; i第乙個空就是考察的malloc函式的使用方法:sizeof(int)*rank*rank;

我們首先使用二維座標表示方陣中的元素:

旋轉之前為a[m][n],旋轉之後為a[n,rank-1-m];

我們假設a[m][n]等價於a[i],則m=i/rank,n=i%rank;

a[n,rank-1-m]等價於a[j],則 j=n*rank+(rank-1-m)=(i%rank)*rank+(rank-1-i/rank);

第乙個空的答案是:sizeof(int)*rank*rank

第二個空的答案是:(i%rank)*rank+(rank-1-i/rank)

2023年藍橋杯 初賽試題 奇怪的比賽

題目描述 某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽...

2012 藍橋杯 初賽試題 大數乘法

大數乘法 對於32 位字長的機器,大約超過 20億,用 int型別就無法表示了,我們可以選擇 int64 型別,但無論怎樣擴充套件,固定的整數型別總是有表達的極限!如果對超級大整數進行精確運算呢?乙個簡單的辦法是 僅僅使用現有型別,但是把大整數的運算化解為若干小整數的運算,即所謂 分塊法 如圖 1....

2012藍橋杯 初賽試題 奪冠概率

題目描述 足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲 乙 丙 丁 甲 0.1 0.3 0.5 乙 0.9 0.7 0.4 丙 0.7 0.3 0.2 丁 0.5 0.6 0.8 資料含義 甲對...