递归解决CSDN论坛上的小朋友分苹果问题
生活随笔
收集整理的這篇文章主要介紹了
递归解决CSDN论坛上的小朋友分苹果问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
RT,是CSDN上的,原帖內(nèi)容如下:
?
采用遞歸,暴力解決方案如下:
#include <stdio.h> #define MAXLEN 1024void calc(int *data, int *status, int len, int *value1, int *value2) {int i;*value1 = *value2 = 0;for (i = 0; i < len; i++){if (status[i] == 0) *value1 = *value1 + data[i];else *value2 = *value2 + data[i];} }int handler(int *data, int *status, int n, int len) {int value1, value2, ret;if (n < len-1){status[n] = 0;ret = handler(data, status, n + 1, len);if (ret > 0) return ret;status[n] = 1;ret = handler(data, status, n + 1, len);if (ret > 0) return ret;}status[n] = 0;calc(data, status, len, &value1, &value2);if (value1 == value2) return value1;status[n] = 1;calc(data, status, len, &value1, &value2);if (value1 == value2) return value1;return 0; }int main(void) {int data[MAXLEN], status[MAXLEN], d, ret, len = 0;while(1){scanf("%d", &d);if (d == -1) break;data[len++] = d;}ret = handler(data, status, 0, len);if (ret > 0) printf("Yes\n%d\n", ret);else printf("No\n");return 0; }?
總結(jié)
以上是生活随笔為你收集整理的递归解决CSDN论坛上的小朋友分苹果问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 官宣!今日北京降雪已达初雪标准
- 下一篇: 一根29cm长的尺子,只允许在它上面刻7