免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 4856 | 回复: 31
打印 上一主题 下一主题

[文本处理] 难题来了-世界500强通信公司的笔试题-学校师资调整问题 [复制链接]

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-19 17:54 |只看该作者 |倒序浏览
本帖最后由 bikkuri 于 2015-05-20 21:51 编辑

大家好!
我有一个问题向大家请教。
是一个世界500强通信公司的笔试题。大牛们请出手!
期待jason680大神的彩色代码!

有6所学校A-F,每个学校有6位老师,每位老师允许教3门科目(科目种类不定)。
例如:
学校A:
第一位老师A1,教的是:中文、英文和政治。
第二位老师A2,教的是:物理、化学和生物。
。。。
第六位老师A6,教的是:地理、历史和几何。

学校B:
第一位老师B1,教的是:数学、生物和物理。
第二位老师B2,教的是:政治、历史和中文。
。。。
第六位老师B6,教的是:计算机、会计和贸易

学校C、D、E、F依此类推。

36位老师的教学能力情况如下表所示(教学科目以两位字母科目代码表示):
  1. A1: BJ FF PG
  2. A2: FG BJ RX
  3. A3: JG FG SM
  4. A4: PF JG SM
  5. A5: PF MZ BS
  6. A6: SB MZ JF
  7. B1: JG PF PG
  8. B2: PF RX SB
  9. B3: BJ BS PG
  10. B4: PJ BS BJ
  11. B5: PG SM FF
  12. B6: JG SM PG
  13. C1: JG FG GD
  14. C2: BJ JG SB
  15. C3: PG BS FG
  16. C4: JG SB PF
  17. C5: BS FF BJ
  18. C6: FG SM PJ
  19. D1: PG FG GD
  20. D2: RX PG JG
  21. D3: FG JG BS
  22. D4: SB BS FG
  23. D5: BJ BS SB
  24. D6: BJ PF FF
  25. E1: PG PF PJ
  26. E2: SB PF GD
  27. E3: JF GD JG
  28. E4: BJ FF PF
  29. E5: MZ SB PF
  30. E6: SB FF GD
  31. F1: BJ SM PF
  32. F2: SB PJ RX
  33. F3: BS FG PJ
  34. F4: MZ FG RX
  35. F5: FG BJ BS
  36. F6: RX SM FG
复制代码
现在教育部出台了新的政策,希望对这些师资力量进行调整,将这些老师按照以下规则进行重新组合。
1、每个学校中必须有6位老师,并且含有从1到6六个数字,比如学校A可以有:C1、F2、B3、D4、C5、A6这六名老师组成;
2、一个学校中教某一门科目的老师越多,则这门科目的师资力量越强。
如果一个学校里有3位老师教中文,则该校为中文三星学校,教育部给予4万块钱奖金;
如果一个学校里有4位老师教数学,则该校为数学四星学校,教育部给予6万块钱奖金;
如果一个学校里有5位老师教物理,则该校为物理五星学校,教育部给予8万块钱奖金;
如果一个学校里有6位老师教英文,则该校为英文六星学校,教育部给予10万块钱奖金;
奖金可以叠加,如果一个学校同时为中文三星学校和数学四星学校,则教育部给予4+6=10万块钱奖金;
3、6个学校按照A-F的按顺序由六位校长依次进行老师的选择。

第一位进行选择的校长A,可以从36位老师中选择6位老师,为了使学校A可以从教育部得到的奖金最多,他会怎么选择呢?
第二位进行选择的校长B,可以从剩下的30位老师中选择6位老师,为了使学校B可以从教育部得到最多的奖金,他会怎么选择呢?
。。。
请打印出重新组合后的六个学校的老师组合情况以及各个学校分别能获得多少奖金。

论坛徽章:
769
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
2 [报告]
发表于 2015-05-19 20:28 |只看该作者
回复 1# bikkuri


弱弱地问下, 中文 数学 物理 英文 科目的两位字母缩写分别是什么?

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
3 [报告]
发表于 2015-05-19 21:28 |只看该作者
回复 2# Herowinter


    目测什么中文 英文 物理只是一个类比啦

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
4 [报告]
发表于 2015-05-20 09:50 |只看该作者
本帖最后由 zsszss0000 于 2015-05-20 10:03 编辑
  1.    A1A2A3A4A5A6B1B2B3B4B5B6C1C2C3C4C5C6D1D2D3D4D5D6E1E2E3E4E5E6F1F2F3F4F5F6 total
  2. RX:0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1  6
  3. JF:0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  2
  4. JG:0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  10
  5. SM:0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1  7
  6. SB:0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0  10
  7. BS:0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0  10
  8. PF:0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0  11
  9. PG:1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0  9
  10. GD:0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0  5
  11. FF:1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0  6
  12. BJ:1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0  11
  13. PJ:0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0  5
  14. MZ:0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0  4
  15. FG:0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1  12
复制代码
这个是整理出来的每一门课都有哪些老师教授的表格,大家看看接下来应该怎么做?

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
5 [报告]
发表于 2015-05-20 11:40 |只看该作者
这尼玛不会做, 艹

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
6 [报告]
发表于 2015-05-20 11:54 |只看该作者
回复 5# reyleon


算法问题,笨办法循环枚举肯定能做出来。

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
7 [报告]
发表于 2015-05-20 12:49 |只看该作者
搬个小板凳,坐等各位大神教我~

回复 6# ly5066113


   

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
8 [报告]
发表于 2015-05-20 13:27 |只看该作者
        

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
9 [报告]
发表于 2015-05-20 15:33 |只看该作者
本帖最后由 zsszss0000 于 2015-05-20 19:15 编辑
  1. #include <iostream>
  2. using namespace std;
  3. #define NUM_SCHOOL 6
  4. #define NUM_TEACHER 6
  5. #define NUM_COURSE  14
  6. #define NUM_COURSE_EACH 3

  7. #define        RX 0
  8. #define        JF 1
  9. #define        JG 2
  10. #define        SM 3
  11. #define        SB 4
  12. #define        BS 5
  13. #define        PF 6
  14. #define        PG 7
  15. #define        GD 8
  16. #define        FF 9
  17. #define        BJ 10
  18. #define        PJ 11
  19. #define        MZ 12
  20. #define        FG 13

  21. /*
  22.         A1: BJ FF PG
  23.         A2: FG BJ RX
  24.         A3: JG FG SM
  25.         A4: PF JG SM
  26.         A5: PF MZ BS
  27.         A6: SB MZ JF
  28.         B1: JG PF PG
  29.         B2: PF RX SB
  30.         B3: BJ BS PG
  31.         B4: PJ BS BJ
  32.         B5: PG SM FF
  33.         B6: JG SM PG
  34.         C1: JG FG GD
  35.         C2: BJ JG SB
  36.         C3: PG BS FG
  37.         C4: JG SB PF
  38.         C5: BS FF BJ
  39.         C6: FG SM PJ
  40.         D1: PG FG GD
  41.         D2: RX PG JG
  42.         D3: FG JG BS
  43.         D4: SB BS FG
  44.         D5: BJ BS SB
  45.         D6: BJ PF FF
  46.         E1: PG PF PJ
  47.         E2: SB PF GD
  48.         E3: JF GD JG
  49.         E4: BJ FF PF
  50.         E5: MZ SB PF
  51.         E6: SB FF GD
  52.         F1: BJ SM PF
  53.         F2: SB PJ RX
  54.         F3: BS FG PJ
  55.         F4: MZ FG RX
  56.         F5: FG BJ BS
  57.         F6: RX SM FG
  58. */


  59. const int aaa[NUM_SCHOOL][NUM_TEACHER][NUM_COURSE_EACH]=
  60. {

  61.         {
  62.                 { BJ,FF,PG },
  63.                 { FG,BJ,RX },
  64.                 { JG,FG,SM },
  65.                 { PF,JG,SM },
  66.                 { PF,MZ,BS },
  67.                 { SB,MZ,JF },
  68.         },
  69.         {
  70.                 { JG,PF,PG },
  71.                 { PF,RX,SB },
  72.                 { BJ,BS,PG },
  73.                 { PJ,BS,BJ },
  74.                 { PG,SM,FF },
  75.                 { JG,SM,PG },
  76.         },
  77.         {
  78.                 { JG,FG,GD },
  79.                 { BJ,JG,SB },
  80.                 { PG,BS,FG },
  81.                 { JG,SB,PF },
  82.                 { BS,FF,BJ },
  83.                 { FG,SM,PJ },
  84.         },

  85.         {
  86.                 { PG,FG,GD },
  87.                 { RX,PG,JG },
  88.                 { FG,JG,BS },
  89.                 { SB,BS,FG },
  90.                 { BJ,BS,SB },
  91.                 { BJ,PF,FF },
  92.         },

  93.         {
  94.                 { PG,PF,PJ },
  95.                 { SB,PF,GD },
  96.                 { JF,GD,JG },
  97.                 { BJ,FF,PF },
  98.                 { MZ,SB,PF },
  99.                 { SB,FF,GD },
  100.         },

  101.         {
  102.                 { BJ,SM,PF },
  103.                 { SB,PJ,RX },
  104.                 { BS,FG,PJ },
  105.                 { MZ,FG,RX },
  106.                 { FG,BJ,BS },
  107.                 { RX,SM,FG },
  108.        
  109.         },
  110. };

  111. int aval_teacher_table[NUM_SCHOOL][NUM_TEACHER];
  112. int cord_course[NUM_COURSE][NUM_SCHOOL*NUM_TEACHER];

  113. int init_aval_teacher_table(int aval_teacher_table[][NUM_TEACHER])
  114. {
  115.         int i=0;
  116.         int j=0;

  117.         for(i=0;i<NUM_SCHOOL;i++)
  118.         {
  119.                 for(j=0;j<NUM_TEACHER;j++)
  120.                 {
  121.                         aval_teacher_table[i][j]=1;
  122.                 }
  123.         }

  124.         return 1;
  125. }
  126. int init_course_table(int cord_course[][NUM_SCHOOL*NUM_TEACHER])
  127. {
  128.         int i=0;
  129.         int j=0;

  130.         for(i=0;i<NUM_COURSE;i++)
  131.         {
  132.                 for(j=0;j<NUM_SCHOOL*NUM_TEACHER;j++)
  133.                 {
  134.                         cord_course[i][j]=0;
  135.                 }
  136.         }

  137.         return 1;
  138. }
  139. int chosed_teacher[6];
  140. int best_chosed_teacher[6];
  141. int best_price;

  142. int check_chose_teacher(int teacher[])
  143. {
  144.         int ret = 0;///<默认失败
  145.         int tmp[6]={0,0,0,0,0,0};

  146.         int i=0;
  147.         for(i=0;i<6;i++)
  148.         {
  149.                 tmp[teacher[i]%6]=1;       
  150.         }

  151.         for(i=0;i<6;i++)
  152.         {
  153.                 if(tmp[i]==0)
  154.                         break;
  155.         }
  156.         if(i==6)
  157.         {
  158. //                cout<<"teacher arrangement is valid!"<<endl;
  159.                 /* 说明6个序号都存在,此时还要添加 */
  160.                 return 1;
  161.         }
  162.         else
  163.         {
  164. //                cout<<"teacher arrangement is not  valid!"<<endl;
  165.                 return 0;       
  166.         }
  167. }

  168. int update_best_teacher(int teacher[])
  169. {
  170.         int i;
  171.         int j;
  172.         int num;
  173.         int tmp_price=0;
  174.         int tmp_index;
  175. //        for(i=0;i<6;i++)
  176. //        {
  177. //                cout<<"teacher is "<<teacher[i]<<"\t";
  178. //        }
  179. //        cout<<endl;
  180.         /* 此处需要用到course_teacher表格 */

  181.         for(i=0;i<NUM_COURSE;i++)
  182.         {
  183.                 num=0;
  184.                 for(j=0;j<6;j++)
  185.                 {
  186.                         tmp_index=teacher[j];
  187.                         if(cord_course[i][tmp_index])
  188.                         {
  189.                                 num++;
  190.                         }
  191.                 }

  192.                 if(num==3)
  193.                 {
  194.                         tmp_price+=4;
  195.                 }
  196.                 else if(num==4)
  197.                 {
  198.                         tmp_price+=6;
  199.                 }
  200.                 else if(num==5)
  201.                 {
  202.                         tmp_price+=8;
  203.                 }
  204.                 else if(num==6)
  205.                 {
  206.                         tmp_price+=10;
  207.                 }
  208.                 else
  209.                 {
  210.                         ///<do nothing
  211.                 }
  212.         }

  213.         if(tmp_price>=best_price)
  214.         {
  215.                 for(i=0;i<6;i++)
  216.                 {
  217.                         cout<<"teacher is "<<teacher[i]<<"\t";
  218.                 }
  219.                 cout<<"total price is "<<tmp_price;
  220.                 cout<<endl;
  221.                 for(i=0;i<6;i++)
  222.                 {
  223.                         best_chosed_teacher[i]=teacher[i];
  224.                 }
  225.                 best_price=tmp_price;
  226.         }
  227. }

  228. int zuhe(int k,int n)
  229. {
  230.         int x1;
  231.         int x2;
  232.         int x3;
  233.         int x4;
  234.         int x5;
  235.         int x6;

  236.         for (int x1 = 0; x1 <= n-k; x1++)
  237.                 for (int x2 = x1+1; x2 <= n-k+1; x2++)
  238.                         for (int x3 = x2+1; x3 <= n-k+2; x3++)
  239.                                 for (int x4 = x3+1; x4 <= n-k+3; x4++)
  240.                                         for (int x5 = x4+1; x5 <= n-k+4; x5++)
  241.                                                 for (int x6 = x5+1; x6 <= n-k+5; x6++)
  242.                                                 {
  243.                                                         chosed_teacher[0]=x1;
  244.                                                         chosed_teacher[1]=x2;
  245.                                                         chosed_teacher[2]=x3;
  246.                                                         chosed_teacher[3]=x4;
  247.                                                         chosed_teacher[4]=x5;
  248.                                                         chosed_teacher[5]=x6;
  249. //                                                        cout<<x1<<" "<<x2<<" "<<x3<<" "<<x4<<" "<<x5<<" "<<x6<<endl;
  250.                                                         if(check_chose_teacher(chosed_teacher))
  251.                                                         {
  252.                                                                 update_best_teacher(chosed_teacher);
  253.                                                         }
  254.                                                         else
  255.                                                         {
  256.                                                                 break;       
  257.                                                         }
  258.                                                 }
  259. }


  260. int main ( int argc, char *argv[] )
  261. {
  262.         best_price=0;
  263.         init_aval_teacher_table(aval_teacher_table);
  264.         init_course_table(cord_course);

  265.         int i=0;
  266.         int j=0;
  267.         int k=0;
  268.         int tmp=0;

  269.         for(i=0;i<NUM_SCHOOL;i++)
  270.         {
  271.                 for(j=0;j<NUM_TEACHER;j++)
  272.                 {
  273.                         for(k=0;k<NUM_COURSE_EACH;k++)
  274.                         {
  275.                                 cord_course[aaa[i][j][k]][6*i+j]=1;       
  276.                        
  277.                         }
  278.                 }
  279.         }
  280.         cout<<"   "<<"A1A2A3A4A5A6B1B2B3B4B5B6C1C2C3C4C5C6D1D2D3D4D5D6E1E2E3E4E5E6F1F2F3F4F5F6 total"<<endl;
  281.         for(i=0;i<NUM_COURSE;i++)
  282.         {
  283.                 switch(i)
  284.                 {
  285.                         case 0:
  286.                                 cout<<"RX:";
  287.                                 break;
  288.                         case 1:
  289.                                 cout<<"JF:";
  290.                                 break;
  291.                         case 2:
  292.                                 cout<<"JG:";
  293.                                 break;
  294.                         case 3:
  295.                                 cout<<"SM:";
  296.                                 break;
  297.                         case 4:
  298.                                 cout<<"SB:";
  299.                                 break;
  300.                         case 5:
  301.                                 cout<<"BS:";
  302.                                 break;
  303.                         case 6:
  304.                                 cout<<"PF:";
  305.                                 break;
  306.                         case 7:
  307.                                 cout<<"PG:";
  308.                                 break;
  309.                         case 8:
  310.                                 cout<<"GD:";
  311.                                 break;
  312.                         case 9:
  313.                                 cout<<"FF:";
  314.                                 break;
  315.                         case 10:
  316.                                 cout<<"BJ:";
  317.                                 break;
  318.                         case 11:
  319.                                 cout<<"PJ:";
  320.                                 break;
  321.                         case 12:
  322.                                 cout<<"MZ:";
  323.                                 break;
  324.                         case 13:
  325.                                 cout<<"FG:";
  326.                                 break;
  327.                         default:

  328.                                 break;
  329.                 }
  330.                 tmp=0;

  331.                 for(j=0;j<NUM_SCHOOL*NUM_TEACHER;j++)
  332.                 {
  333.                         if(cord_course[i][j])
  334.                         {
  335.                                 tmp++;
  336.                         }
  337.                        
  338.                         cout<<cord_course[i][j]<<" ";
  339.                 }
  340.                 cout<<" "<<tmp<<endl;
  341.         }

  342.         zuhe(6,36);

  343.         cout<<"the best teacher arrangement is "<<endl;
  344.         for(i=0;i<6;i++)
  345.         {
  346.                 cout<<best_chosed_teacher[i]<<"\t";
  347.         }
  348.         cout<<endl;
  349.         cout<<"the price is "<<endl;
  350.         cout<<best_price<<endl;


  351.         return 1;
  352. }/* end of function main  */
复制代码

  1.    A1A2A3A4A5A6B1B2B3B4B5B6C1C2C3C4C5C6D1D2D3D4D5D6E1E2E3E4E5E6F1F2F3F4F5F6 total
  2. RX:0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1  6
  3. JF:0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  2
  4. JG:0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  10
  5. SM:0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1  7
  6. SB:0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0  10
  7. BS:0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0  10
  8. PF:0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0  11
  9. PG:1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0  9
  10. GD:0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0  5
  11. FF:1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0  6
  12. BJ:1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0  11
  13. PJ:0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0  5
  14. MZ:0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0  4
  15. FG:0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1  12
  16. teacher is 0    teacher is 1    teacher is 2    teacher is 3    teacher is 4    teacher is 5    total price is 0
  17. teacher is 0    teacher is 1    teacher is 2    teacher is 3    teacher is 10   teacher is 11   total price is 14
  18. teacher is 0    teacher is 1    teacher is 2    teacher is 3    teacher is 34   teacher is 35   total price is 14
  19. teacher is 0    teacher is 1    teacher is 2    teacher is 23   teacher is 27   teacher is 28   total price is 14
  20. teacher is 0    teacher is 1    teacher is 2    teacher is 33   teacher is 34   teacher is 35   total price is 16
  21. teacher is 0    teacher is 1    teacher is 5    teacher is 14   teacher is 21   teacher is 22   total price is 16
  22. teacher is 0    teacher is 1    teacher is 5    teacher is 20   teacher is 21   teacher is 22   total price is 16
  23. teacher is 0    teacher is 1    teacher is 8    teacher is 9    teacher is 34   teacher is 35   total price is 16
  24. teacher is 0    teacher is 1    teacher is 8    teacher is 21   teacher is 34   teacher is 35   total price is 16
  25. teacher is 0    teacher is 1    teacher is 8    teacher is 23   teacher is 27   teacher is 28   total price is 16
  26. teacher is 0    teacher is 1    teacher is 8    teacher is 33   teacher is 34   teacher is 35   total price is 16
  27. teacher is 0    teacher is 1    teacher is 9    teacher is 14   teacher is 34   teacher is 35   total price is 16
  28. teacher is 0    teacher is 1    teacher is 9    teacher is 20   teacher is 34   teacher is 35   total price is 16
  29. teacher is 0    teacher is 1    teacher is 9    teacher is 32   teacher is 34   teacher is 35   total price is 16
  30. teacher is 0    teacher is 1    teacher is 11   teacher is 14   teacher is 21   teacher is 22   total price is 16
  31. teacher is 0    teacher is 1    teacher is 14   teacher is 21   teacher is 34   teacher is 35   total price is 16
  32. teacher is 0    teacher is 1    teacher is 14   teacher is 33   teacher is 34   teacher is 35   total price is 16
  33. teacher is 0    teacher is 1    teacher is 20   teacher is 21   teacher is 34   teacher is 35   total price is 16
  34. teacher is 0    teacher is 1    teacher is 20   teacher is 33   teacher is 34   teacher is 35   total price is 16
  35. teacher is 0    teacher is 1    teacher is 21   teacher is 32   teacher is 34   teacher is 35   total price is 16
  36. teacher is 0    teacher is 1    teacher is 32   teacher is 33   teacher is 34   teacher is 35   total price is 16
  37. teacher is 0    teacher is 2    teacher is 3    teacher is 13   teacher is 34   teacher is 35   total price is 16
  38. teacher is 0    teacher is 3    teacher is 10   teacher is 11   teacher is 19   teacher is 20   total price is 16
  39. teacher is 0    teacher is 5    teacher is 8    teacher is 13   teacher is 21   teacher is 22   total price is 16
  40. teacher is 0    teacher is 5    teacher is 8    teacher is 19   teacher is 21   teacher is 22   total price is 16
  41. teacher is 0    teacher is 5    teacher is 9    teacher is 22   teacher is 31   teacher is 32   total price is 16
  42. teacher is 0    teacher is 7    teacher is 8    teacher is 11   teacher is 21   teacher is 22   total price is 16
  43. teacher is 0    teacher is 7    teacher is 8    teacher is 23   teacher is 27   teacher is 28   total price is 16
  44. teacher is 0    teacher is 7    teacher is 8    teacher is 27   teacher is 28   teacher is 29   total price is 16
  45. teacher is 0    teacher is 7    teacher is 16   teacher is 23   teacher is 26   teacher is 27   total price is 16
  46. teacher is 0    teacher is 8    teacher is 9    teacher is 19   teacher is 22   teacher is 23   total price is 16
  47. teacher is 0    teacher is 8    teacher is 11   teacher is 13   teacher is 21   teacher is 22   total price is 18
  48. teacher is 0    teacher is 8    teacher is 19   teacher is 23   teacher is 27   teacher is 28   total price is 18
  49. teacher is 0    teacher is 9    teacher is 16   teacher is 23   teacher is 31   teacher is 32   total price is 18
  50. teacher is 1    teacher is 2    teacher is 30   teacher is 33   teacher is 34   teacher is 35   total price is 20
  51. teacher is 2    teacher is 3    teacher is 6    teacher is 7    teacher is 10   teacher is 11   total price is 20
  52. teacher is 6    teacher is 8    teacher is 11   teacher is 13   teacher is 21   teacher is 22   total price is 20
  53. teacher is 6    teacher is 15   teacher is 25   teacher is 26   teacher is 28   teacher is 29   total price is 20
  54. teacher is 12   teacher is 13   teacher is 20   teacher is 21   teacher is 22   teacher is 23   total price is 20
  55. teacher is 12   teacher is 15   teacher is 25   teacher is 26   teacher is 28   teacher is 29   total price is 20
  56. the best teacher arrangement is
  57. 12      15      25      26      28      29
  58. the price is
  59. 20
复制代码


teacher is 1    teacher is 2    teacher is 30   teacher is 33   teacher is 34   teacher is 35   total price is 20
teacher is 2    teacher is 3    teacher is 6    teacher is 7    teacher is 10   teacher is 11   total price is 20
teacher is 6    teacher is 8    teacher is 11   teacher is 13   teacher is 21   teacher is 22   total price is 20
teacher is 6    teacher is 15   teacher is 25   teacher is 26   teacher is 28   teacher is 29   total price is 20
teacher is 12   teacher is 13   teacher is 20   teacher is 21   teacher is 22   teacher is 23   total price is 20
teacher is 12   teacher is 15   teacher is 25   teacher is 26   teacher is 28   teacher is 29   total price is 20

teacher is 1    teacher is 2    teacher is 30   teacher is 33   teacher is 34   teacher is 35   total price is 20
这个组合表示
A2 A3 F1 F4 F5 F6

上面这些组合的和为20,如果A学校的校长,任选其中一种选择的话,那么B校长要在此基础之上,进行一个选择。

我觉得这道题目,还可以有下面几种变形:
1、保持原来要求不变,但是要求总体得到的奖励最大(即六所学校得到的奖励之和最大)
2、保持原来要求不变,但是要求总体得到的奖励最小(即A要选择一个其他5家得到的和最小,B要在此基础之上选择一个使得其他四家得到的最小,以此类推)




论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [报告]
发表于 2015-05-20 15:35 |只看该作者
本帖最后由 jason680 于 2015-05-20 15:38 编辑
  1. $ awk -F'[ :]+' '{N=substr($1,2);for(n=2;n<=NF;n++){if(!a[$n,"max"]++)t[++c]=$n;a[$n,$1]=1;if(!a[$n,N]++)a[$n,"all"]++}}END{for(n=1;n<=c;n++){s=t[n];print s,a[s,"max"],a[s,"all"];for(m=65;m<65+6;m++){E=sprintf("%c",m);printf E" ";for(k=1;k<=6;k++)printf("%d",a[s,E k]);print""}print""}}' FILE | awk -vg=5 'BEGIN{RS="";FS="\n"}{for(n=1;n<=NF;n++)a[n]=sprintf("%s %-10s  ",a[n],$n)}NR%g==0{for(n=1;n<=NF;n++){print a[n];a[n]=""}print""}END{for(n=1;n<=NF;n++)print a[n]}'
  2. BJ 11 6      FF 6 4       PG 9 5       FG 12 6      RX 6 3      
  3. A 110000     A 100000     A 100000     A 011000     A 010000   
  4. B 001100     B 000010     B 101011     B 000000     B 010000   
  5. C 010010     C 000010     C 001000     C 101001     C 000000   
  6. D 000011     D 000001     D 110000     D 101100     D 010000   
  7. E 000100     E 000101     E 100000     E 000000     E 000000   
  8. F 100010     F 000000     F 000000     F 001111     F 010101   

  9. JG 10 5      SM 7 5       PF 11 5      MZ 4 3       BS 10 3     
  10. A 001100     A 001100     A 000110     A 000011     A 000010   
  11. B 100001     B 000011     B 110000     B 000000     B 001100   
  12. C 110100     C 000001     C 000100     C 000000     C 001010   
  13. D 011000     D 000000     D 000001     D 000000     D 001110   
  14. E 001000     E 000000     E 110110     E 000010     E 000000   
  15. F 000000     F 100001     F 100000     F 000100     F 001010   

  16. SB 10 4      JF 2 2       PJ 5 5       GD 5 4      
  17. A 000001     A 000001     A 000000     A 000000   
  18. B 010000     B 000000     B 000100     B 000000   
  19. C 010100     C 000000     C 000001     C 100000   
  20. D 000110     D 000000     D 000000     D 100000   
  21. E 010011     E 001000     E 100000     E 011001   
  22. F 010000     F 000000     F 011000     F 000000
复制代码

subject
total best_solution
BJ 11 6
A 110000
B 001100
C 010010
D 000011
E 000100

GD 5 4      
A 000000   
B 000000   
C 100000   
D 100000   
E 011001   
F 000000
ex: best_solution
best_solution (4) = C1,E2,E3,x4,x5,E6
best_solution (4) = D1,E2,E3,x4,x5,E6

由 total与best_solution最多(FG,BJ,PF,....)先选...
best_solution少于3个(JF)不用管

先这样......

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP