XTU 程式設計實踐模擬考試題1

2021-07-13 15:05:08 字數 3148 閱讀 4059

題號分別是:1248/1249/1250/1251/1252/1253。

1248思路:列舉出所有可能,判結果即可。詳見**。

ac**如下:

#include 

using

namespace

std;

int a[3], b[3];

int main()

else

if (t1==0 && t2==0)

else

if (t1==2 && t2==2)

else

if (a[i] == 1)

printf("alice\n");

else

if (b[j] == 1)

printf("bob\n");

else

if (a[i] > b[j])

printf("alice\n");

else

printf("bob\n");

}else

if (t1 == 1)

printf("alice\n");

else

if (t2 == 1)

printf("bob\n");

else

if (t1 == 2)

printf("alice\n");

else

printf("bob\n");

}return

0;}

1249思路:題目中說明了只有83個,那麼暴力將83個結果輸出到檔案,再複製結果儲存在陣列裡,直接輸出即可。詳見**。

輸出結果到檔案的**如下:

#include 

using

namespace

std;

const

int maxn = 1000005;

const

int maxm = 1005;

bool vis[maxn] = ;

void filter()

bool is_prime(int x)

int main()

t /= 10;

}if (ok)

}printf("\n%d\n", cnt);

return

0;}

ac**如下:

#include 

using

namespace

std;

int ans[84] = ;

int main()

給出乙份正式點的**。就是利用已滿足條件的素數,來尋找下乙個滿足條件的素數,而且只要判斷已滿足條件的素數末尾加一位是否是素數即可。為什麼呢?因為它已經滿足條件了,再分下去肯定滿足條件。末尾肯定不可能為偶數,不然能被2整除,不是素數,也不可能是5,因為能被5整除。

#include 

using

namespace

std;

int p[85] = ;

bool is_prime(int x)

int main()

printf("%d %d\n", i, p[i]);

}return

0;}

ac**如下:

#include 

using

namespace

std;

const

int maxn = 10005;

int vis[maxn], bonus[maxn];

vector

g[maxn];

int n, m;

int dfs(int u)

vis[u] = 1;

return bonus[u];

}bool toposort()

int main()

while (m--)

if (toposort())

else

}return

0;}

1251思路:要求沒有數和它的數碼和等於n,只要將n的位數求出來,然後假設每位都為9,那麼數碼和就為9倍n的位數,最後只要列舉n-1到n-數碼和即可。為什麼呢?大於等於n,顯然不可能,因為本身就不小於n,數碼和必大於0。而如果小於假設的那個值,數碼和就算夠了,它本身也小了,故不可能。

ac**如下:

#include 

using

namespace

std;

int n;

int sum(int x)

return ans;

}int main()

return

0;}

1252思路:行列最大為100,那麼對於乙個矩陣,判斷每個元素是否需要輸出即可,即只要判斷它是否是它所在行列唯一的那個即可,是就需要輸出,否就不需要。詳見**。

ac**如下:

#include 

using

namespace

std;

const

int maxn = 105;

char str[maxn][maxn];

bool vis[maxn][maxn];

int n, m;

bool check(int i, int j)

int main()

return

0;}

1253思路:n最大為1000,資料保證有解,那麼最壞情況下也就只要列舉10^6次,所以直接暴力列舉即可。詳見**。

ac**如下:

#include 

using

namespace

std;

const

int maxn = 1005;

int num[maxn];

bool vis[maxn];

int n;

int main()

}else

}++ans;

ok = !ok;

} while (cnt != n);

printf("%d\n", ans);

}return

0;}

python程式設計考試題目 python程式設計練習題目

github上面的乙個專案,分為level1,level2,level3 三個等級的難度。練習題1 隨機生成一列資料,畫出這些資料的分布 概率密度曲線,以及進行歸一化 標準化之後的分布 概率密度曲線。解答 歸一化 標準化 中心化 import numpy as np import matplotli...

模擬賽 妖怪等級考試 題解

妖怪等級考試 給定乙個無向連通圖,求是否存在兩個點之間存在三條路徑,並要求輸出路徑。首先,如果兩個節點之間存在多條不相交路徑,就一定存在乙個環。所以,這題和找環相關。只有兩個環之間存在相交的邊,才說明有解。如圖 現在關鍵就是如何找到環。由於無向圖dfs後,只有樹邊和返祖邊,且只有返祖邊才會形成環,所...

考試題目 NOIP模擬賽 turtle(烏龜)

description 乙隻烏龜由於智商低下,它只會向左或向右走,不過它會遵循主人小h的指令 f 向前走一步 t 掉頭 現在小h給出一串指令,由於小h有高超的計算能力,他可以馬上知道烏龜最後走到 為了難倒小h,他的好朋友小c就說,現在讓你修改其中n個指令,使得烏龜移動到離起點最遠的地方。修改是指 t...