五月天青色头像情侣网名,国产亚洲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ó)家法律
苍梧县| 西乡县| 定结县| 铅山县| 峨边| 六安市| 吉林市| 江西省| 武山县| 泗洪县| 大安市| 泰和县| 绥滨县| 岚皋县| 长海县| 吴川市| 兴海县| 陈巴尔虎旗| 剑河县| 平和县| 衡东县| 清远市| 石家庄市| 宜丰县| 三都| 兴义市| 昭平县| 兴业县| 汝阳县| 新沂市| 湄潭县| 无为县| 时尚| 开鲁县| 陕西省| 岳池县| 新泰市| 井研县| 信丰县| 京山县| 广西|