📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
查看: 2735| 回复: 7
跳转到指定楼层
上一主题 下一主题
收起左侧

Bloomberg : 输出排列个数

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
//Write an algorithm to find the number
//of six digit numbers where the sum of the first three digits is equal to the sum of the last three digits.

上一篇:google : 记电话号码
下一篇:MSRA : 二叉树上移石头
🔗
Etrnls 2011-5-11 14:32:47 | 只看该作者
全局:
其实就是求three digits加起来等于k的排列有几种
回复

使用道具 举报

🔗
darksteel 2011-5-11 14:41:48 | 只看该作者
全局:
回复 2# Etrnls
有道理!这样可以先预处理一下,3重循环算出3个数的和的组成方式的数目,要注意避免重复。然后就可以过一遍所有可能的和并且算出答案
回复

使用道具 举报

🔗
darksteel 2011-5-11 14:43:31 | 只看该作者
全局:
第一个数字如果不能是0还麻烦点,需要单独考虑下
回复

使用道具 举报

🔗
darksteel 2011-5-12 00:15:13 | 只看该作者
全局:
  1.         int way3[30], way2[30];
  2.         int ans = 0;
  3.         int i, j, k;
  4.         memset(way3, 0, sizeof(way3));
  5.         memset(way2, 0, sizeof(way2));
  6.         for(i = 0; i < 10; i++) for(j = 0; j < 10; j++) {
  7.                 for(k = 0; k < 10; k++)
  8.                         way3[i+j+k]++;
  9.                 way2[i+j]++;
  10.         }
  11.         for(i = 0; i < 30; i++)
  12.                 ans += (way3[i]-way2[i])*way3[i];
  13.         cout << ans << endl;
复制代码
回复

使用道具 举报

🔗
bill 2011-5-15 01:12:42 | 只看该作者
全局:
是dp吗?开一个table[3][sum]. 复杂度为3sum
回复

使用道具 举报

🔗
 楼主| wwwyhx 2011-5-15 02:31:19 | 只看该作者
全局:
是dp吗?开一个table[3][sum]. 复杂度为3sum
bill 发表于 2011-5-15 01:12


类似DP,但你的做法好像不对
回复

使用道具 举报

🔗
 楼主| wwwyhx 2011-5-15 02:32:19 | 只看该作者
全局:
darksteel 发表于 2011-5-12 00:15



    不错哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表