改进了一下程序,在我的p4 3.2上以2064ms运算完7040个
到此告一段落,880的版本不想写了,麻烦,研究一下五阶的,好像好复杂。371993326789901217467999448150835200000000个组合,呼呼。
开头的两个include 是iostream 和time.h,万恶的代码显示器
cpp 代码
- #include
- #include
-
- using namespace std;
-
- struct uni
- {
- int a,b,c,d;
- };
-
- uni can[3000];
- int sum = 0,sum_all = 0;
-
- void get_all_num()
- {
- for(int i = 1;i <= 16;++i)
- {
- for(int j = 1;j <= 16;++j)
- {
- for(int k = 1; k <= 16; ++k)
- {
- for(int l = 1;l <= 16;++l)
- {
- if(i != j && i != k && i != l && j != k && j != l && k != l)
- if(i + j + k + l == 34)
- {
- can[sum].a = i;
- can[sum].b = j;
- can[sum].c = k;
- can[sum].d = l;
- ++sum;
- }
- }
- }
- }
- }
- }
-
- void p_rint(const int sq[])
- {
- cout << "i wIll gIvE yOu sOme coLoR 2CC! " << sum_all <
- cout << sq[0] << " " << sq[1] << " " << sq[2] << " " << sq[3] << endl;
- cout << sq[4] << " " << sq[5] << " " << sq[6] << " " << sq[7] << endl;
- cout << sq[8] << " " << sq[9] << " " << sq[10] << " " << sq[11] << endl;
- cout << sq[12] << " " << sq[13] << " " << sq[14] << " " << sq[15] << endl << endl;
- }
-
- bool caca(const int sq[])
- {
- if(sq[0] + sq[4] + sq[8] + sq[12] !=34)
- return false;
- if(sq[2] + sq[6] + sq[10] + sq[14] !=34)
- return false;
- return true;
- }
-
- bool detec_2(const int sq[])
- {
- int km2[17];
- int i,m;
- for(i = 0;i <= 16;++i)
- {
- km2[i] = 0;
- }
-
- for(m = 0;m < 16;++m)
- {
- km2[sq[m]]++;
- if(km2[sq[m]] > 1)
- return false;
- }
-
- return true;
- }
- bool detec_1(const int c1[],const int c2[])
- {
- int km2[17],i;
- for(i = 0;i < 16;++i)
- {
- km2[i] = 0;
- }
-
- km2[c1[0] - 1]++;
- km2[c1[1] - 1]++;
- km2[c1[2] - 1]++;
- km2[c1[3] - 1]++;
-
- km2[c2[0] - 1]++;
- km2[c2[1] - 1]++;
- km2[c2[2] - 1]++;
- km2[c2[3] - 1]++;
-
- for(i = 0;i < 16;i++)
- {
- if(km2[i] > 1)
- return false;
- }
-
- return true;
- }
-
- void fill_in_line(const int c1[],const int c2[])
- {
- int sq[16],k,l;
-
- sq[0] = c1[0];
- sq[5] = c1[1];
- sq[10] = c1[2];
- sq[15] = c1[3];
-
- sq[3] = c2[0];
- sq[6] = c2[1];
- sq[9] = c2[2];
- sq[12] = c2[3];
-
- for(k = 1;k <= 16;k++)
- {
- sq[4] = k;
- if(k != c1[0] && k != c1[1] && k != c1[2] && k != c1[3] && k != c2[0] && k != c2[1] && k != c2[2] && k != c2[3])
- {
- for(l = 1;l <= 16;++l)
- {
- sq[1] = l;
- if(l != sq[4])
- {
- sq[7] = 34 - sq[4] - sq[5] - sq[6];
- sq[11] = 34 - sq[3] - sq[7] - sq[15];
- sq[8] = 34 - sq[9] - sq[10] - sq[11];
- sq[13] = 34 - sq[1] - sq[5] - sq[9];
- sq[14] = 34 - sq[12] - sq[13] - sq[15];
- sq[2] = 34 - sq[0] - sq[1] - sq[3];
-
- if(sq[7] > 0 && sq[11] > 0 && sq[8] > 0 && sq[13] > 0 && sq[14] > 0 && sq[2] > 0 &&
- sq[7] <= 16 && sq[11] <= 16 && sq[8] <= 16 && sq[13] <= 16 && sq[14] <= 16 && sq[2] <= 16)
- {
- if((sq[0] + sq[1] + sq[4] + sq[5] == sq[10] + sq[11] + sq[14] + sq[15]) &&
- (sq[2] + sq[3] + sq[6] + sq[7] == sq[8] + sq[9] + sq[12] + sq[13]) &&
- caca(sq) && detec_2(sq))
- {
- sum_all++;
-
- }
- }
- }
- }
- }
- }
-
- }
- void fill_in_eight()
- {
- int cse1[4],cse2[4];
-
- for(int i = 0;i < sum;++i)
- {
- for(int j = 0;j < sum;++j)
- {
- if( i!=j )
- {
- cse1[0] = can[i].a;
- cse1[1] = can[i].b;
- cse1[2] = can[i].c;
- cse1[3] = can[i].d;
-
- cse2[0] = can[j].a;
- cse2[1] = can[j].b;
- cse2[2] = can[j].c;
- cse2[3] = can[j].d;
-
- if(detec_1(cse1,cse2))
- {
- fill_in_line(cse1,cse2);
- }
- }
-
- }
- }
- }
-
- int main()
- {
- time_t t;
- t = clock();
-
- get_all_num();
- fill_in_eight();
-
- cout << "time consumed: " << clock() - t << " ms"<< endl;
- return 0;
- }
分享到:
相关推荐
20220823-广发证券-洽洽食品-002557-铸品牌渠道壁垒,向坚果龙头进发.pdf
报告标题中的“好风凭借力,休闲卤味龙头向卤味之王进发”形象地描绘了绝味食品借助行业发展的东风,逐步从行业领导者向更具影响力的市场霸主迈进的过程。 绝味食品是中国休闲卤制品市场的佼佼者,以其丰富的产品线...
向最高峰进发:得到app竞品分析报告.pdf 本文对得到app进行了深入的竞品分析,从8个方面对其进行了分析,并在结尾提出了建议,希望能对得到app 及知识付费行业相关从业者有所帮助。 导语 得到app 作为该产业的...
综上所述,"“真实”质疑 向深度学习进发"这一主题涵盖了深度学习的理论与实践,强调在教育中运用深度学习技术的同时,注重培养学生的质疑精神和批判性思维,通过数据分析和数据研究提升学习质量,并倡导真实性学习...
神七问天观后感:中国人向太空进发.doc
四、市场趋势与发展潜力 1. 短期市场影响:楼市销售的火热情况将短期内进一步推动PVC地板市场需求。 2. 长期市场渗透率:随着市场渗透率的提升,PVC地板的长期需求有望持续增长。 五、产能与技术投资 1. 产能扩张:...
走进“芯”时代——全国银行磁条卡向芯片卡全面进发.pdf
我国工业的华丽转身 向工业智能机器人大国进发.doc
20190709-太平洋-银轮股份-002126.SZ-银轮股份:承甲子初心,向海外进发.pdf
"快携上一抹碧绿向梦想进发"这句话可能是这次征文的主题或者是获奖作品中的关键表述,象征着青春的活力、希望和对未来的追求,这里的“一抹碧绿”可能寓意着生命的色彩、自然的力量或是清新美好的愿景。 【知识点】...
《奈雪的茶:脚踏实地,仰望星空,向茶饮界星巴克进发》 在当今快节奏的生活中,休闲饮品已经成为人们日常消费的重要组成部分,而茶饮市场的竞争也日益激烈。作为其中的佼佼者,奈雪的茶以其独特的品牌定位、高品质...
《漂浮式海上风电:向深远海进发的新能源革命》 漂浮式海上风电,作为海上风电领域的重要发展方向,正逐步引领着可再生能源的新潮流。随着近海资源的日益枯竭和环保要求的提高,海上风电的发展趋势不可避免地指向...
20210711-国盛证券-巨化股份-600160-立足一体化产业链持续进发,勇攀含氟新材料高峰.pdf
半导体设计前端突出差异化 工艺向10nm以下进发——专访ICCAD 2015与会8位著名EDA、Foundry公司高管.pdf
海象新材(003011)乘海外经济复苏之风,向PVC地板外贸龙头进发-深度报告210323.zip
海象新材-003011-深度报告:乘海外经济复苏之风,向PVC地板外贸龙头进发
综上所述,嵌入式处理器向多核多线程发展的趋势,目的是为了增强系统的并行处理能力,并进一步优化资源的分配。MIPS科技等公司在这一领域的持续创新,为未来的嵌入式处理器指明了高效与灵活性的发展方向。随着这些...
思考的利器-21个进发灵感的考具-21个进发灵感的考具
报告标题:“海力股份-835787-新三板主题报告聚焦输电线路紧固件领域,逐步向核电、风电、汽车行业进发” 报告描述:这份报告详细探讨了海力股份在输电线路紧固件行业的地位和发展,以及公司战略上如何逐渐拓展到...