五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

0090-方法越來(lái)越妙!你能想到最優(yōu)策略救下最多人嗎?| 囚徒帽子邏輯謎題

2023-08-22 20:16 作者:氵軍xig  | 我要投稿

0090 囚徒帽子邏輯謎題

?
11:45
?

程序效果圖:

original array 為隨機(jī)帶的帽子顏色

sum array 為看到的帽子顏色對(duì)應(yīng)數(shù)字求和

rem array 為求和后對(duì)帽子顏色數(shù)量求余

answer array 為囚徒回答帽子的顏色

由圖可見,第一個(gè)報(bào)數(shù)的犧牲了自己保全了前n個(gè)人


代碼如下:

~~~

#include<stdio.h>

#include<stdlib.h>

#include<time.h>


void print_arr(int *arr, int n)

{

? ? printf(": ");

? ? for(int i = 0; i < n; i++)

? ? {

? ? ? ? printf("%d ", arr[i]);

? ? }

? ? printf("\n");

}


int main(int argc, char const *argv[])

{

? ? int n, i;

? ? int number;

? ? printf("input people number :");

? ? scanf("%d", &number);

? ? printf("input hat color quantity :");

? ? scanf("%d", &n);


? ? int *array = (int *)malloc(sizeof(int) * number);

? ? // 自動(dòng)生成

? ? srand(time(0));

? ? for(int i = 0; i < number; i++)

? ? {

? ? ? ? array[i] = rand() % n; ?// n 上面得

? ? }


? ? // 手輸數(shù)字

? ? // printf("input number: ");

? ? // for (i = 0; i < number; i++)

? ? // {

? ? // ? ? scanf("%d", &array[i]);

? ? // }


? ? printf("\n");

? ? printf("original array");

? ? print_arr(array,number);

? ? printf("\n");


? ? // 前面n-1-i個(gè)人帽子數(shù)求和

? ? int *arr = (int *)malloc(sizeof(int) * number - 1);

? ? int sum = 0;

? ? for (int i = number - 1; i > 0; i--)

? ? {

? ? ? ? sum += array[i];

? ? ? ? arr[i-1] = sum;

? ? }

? ? printf("sum array");

? ? print_arr(arr, number - 1);


? ? // 前面n-1-i個(gè)人帽子求和 取 帽子顏色的模

? ? int *arr_0 = (int *)malloc(sizeof(int) * number - 1);

? ? for (int i = number - 1; i > 0; i--)

? ? {

? ? ? ? arr_0[i-1] = arr[i-1]%n;

? ? }

? ? printf("rem array");

? ? print_arr(arr_0, number - 1);


? ? // 算法算出自身帽子顏色

? ? int *arr_1 = (int *)malloc(sizeof(int) * number);

? ? // 最先報(bào)顏色到倒數(shù)第二個(gè)報(bào)顏色算法,聽到帽子顏色 - 看到帽子顏色(求和求余)

? ? arr_1[0] = arr_0[0];

? ? for (int i = 1; i < number - 1; i++)

? ? {

? ? ? ? arr_1[i] = (arr_0[i-1] - arr_0[i] + n)%n ;

? ? }

// 最后一個(gè)報(bào)顏色算法

? ? int temp = arr_1[0];

? ? for (int i = 1; i < number - 1; i++)

? ? {

? ? ? ? temp = (temp - arr_1[i] + n)%n;

? ? }

? ? arr_1[number - 1] = temp;


? ? printf("answer array");

? ? print_arr(arr_1, number);


? ? free(array);

? ? free(arr);

? ? getchar();

? ? system("pause");

? ? return 0;

}

~~~

0090-方法越來(lái)越妙!你能想到最優(yōu)策略救下最多人嗎?| 囚徒帽子邏輯謎題的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
巴南区| 腾冲县| 许昌县| 衡阳县| 汉沽区| 从江县| 建始县| 巩留县| 陈巴尔虎旗| 兴业县| 阆中市| 射洪县| 锡林浩特市| 金秀| 莆田市| 深州市| 留坝县| 遂川县| 稻城县| 始兴县| 昌都县| 五河县| 澳门| 义马市| 株洲县| 工布江达县| 安福县| 玉屏| 班玛县| 广饶县| 贵德县| 永昌县| 方山县| 龙胜| 舞阳县| 顺平县| 壤塘县| 陵川县| 遂宁市| 井研县| 西乌|