很有意思的题目,一开始总觉得每次问完没有变化,后来想到了最简单的例子, 1 2 3, 算是有些理解了,可还是不够深。看了书上的解析,发现递归结束条件我又想偏了,又去想减少到1或0之类,没想到i==j时可以直接得到结果。缩小规模的方法也很精彩。

写成程序提交,总是有数据过不了。一开始我好蠢,还用了结构体,还排序,哎,智商啊。

先这样吧,回头再看是哪里的问题。

#include <cstdio>
#include <stdlib.h>
using namespace std;int cu, n, m, ans[2000];
bool flag;int p(int i, int j){return (j-i+3)%3;
}int times(int i, int j, int t1, int t2, int t3){if(flag){if(i == j)return t3+1;int t;if(i > j)t = times(j, i-j, t2, t3, t1)+p(t1, t3);elset = times(i, j-i, t1, t3, t2)+p(t2, t3);if(t > n){flag = 0;return 0;}elsereturn t;}elsereturn 0;
}int main(){while(~scanf("%d%d", &n, &m)&&n != -1&&m != -1){cu = 0;int mp = (n%3+2)%3;for(int j=1;j<m;j++){flag = 1;if(times(j, m-j, (mp+1)%3, (mp+2)%3, mp) == n && flag){ans[cu] = j;cu++;}}printf("%d\n", cu);for(int i=0;i<cu;i++){switch(mp){case 0:printf("%d %d %d\n", m, ans[i], m-ans[i]);break;case 1:printf("%d %d %d\n", m-ans[cu-1-i], m, ans[cu-1-i]);break;case 2:printf("%d %d %d\n", ans[i], m-ans[i], m);break;default:break;}}}return 0;
}

wikioi 2239 Clever相关推荐

  1. Clever Answers in Codewar(Javascript 持续更新)

    problem: createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => returns "(123) 456-7890&quo ...

  2. 【wikioi】1022 覆盖(匈牙利)

    http://www.wikioi.com/problem/1022/ 好不容易来一次1A,,水题啊.. 染色后裸匈牙利orz #include <cstdio> #include < ...

  3. [wikioi 1307][poj 2054]欧少堆(乱搞)

    题目:http://www.wikioi.com/problem/1307/ 题意:给你一个树,上面有n个节点,每个节点都有一个价值p,求一个n个节点的排列顺序,是的Σi*p[i]最小(要求父节点一定 ...

  4. 1050 棋盘染色 2 - Wikioi

    题目描述 Description 有一个5*N的棋盘,棋盘中的一些格子已经被染成了黑色,你的任务是对最少的格子染色,使得所有的黑色能连成一块. 输入描述 Input Description 第一行一个 ...

  5. [wikioi]奇怪的梦境

    http://wikioi.com/problem/2833/ 拓扑排序,居然1A,哈哈. #include <cstdio> #include <iostream> #inc ...

  6. [wikioi]多源最短路

    http://wikioi.com/problem/1077/ Floyd算法.精华是三层循环,if (dist(i,k) + dist(k,j) < dist(i,j)) then dist( ...

  7. wikioi 1688 求逆序对

    /*=========================================================== wikioi 1688 求逆序对 时间限制: 1 s 空间限制: 12800 ...

  8. luogu2485 [SDOI2011]计算器 poj3243 Clever Y BSGS算法

    BSGS 算法,即 Baby Step,Giant Step 算法.拔山盖世算法. 计算 \(a^x \equiv b \pmod p\). \(p\)为质数时 特判掉 \(a,p\) 不互质的情况. ...

  9. Unmasking Clever Hans predictors and assessing what machines really learn:揭露“聪明汉斯”预测变量并评估机器到底学习到了什么?

    作者:18届 cyl 日期:2021-08-15 论文:<Unmasking Clever Hans predictors and assessing what machines really ...

最新文章

  1. Python 函数知识汇总
  2. 组件化 Todo List 编写笔记
  3. 学习几个“××在内存中占几份”的若干问题
  4. SQL Server2005重装Performance Monitor Counter 的问题解决
  5. html5 内容载入,HTML5 的 DOMContentLoaded 和 onload
  6. 基于多搜索引擎和深度学习技术的自动问答
  7. 树莓派VI命令大全(附vim使用异常,卸载重新安装步骤)
  8. C语言课程设计–成绩管理系统
  9. SQL显示数据库恢复挂起解决
  10. java 第三方jar推荐_java 开发第三方Jar包
  11. Niushop 快递打印单模板设置
  12. 关于双模键盘的模式转化
  13. linux wifi驱动开发 二,Linux 下wifi 驱动开发(二)—— WiFi模块浅析
  14. 用PYTHON做一个动态钟表
  15. MACBOOK快捷键输入
  16. 怎么看java是不是1.8_jdk从1.8换成1.7后,查看版本还是1.8解决方法
  17. 蜂鸟量化开创全新量化交易
  18. 倍福PLC--实现Dword数据类型每位1的计数,即统计类型中“1”的位数
  19. BDD100K数据集制作的流程(1)
  20. oa系统服务器安装包,oa系统在服务器安装

热门文章

  1. 随笔——自己制作python编译器——pip.exe的复制修改
  2. linux在文件中添加多行,关于linux:如何在文件中搜索多行模式?
  3. 安卓linux辅助软件下载,安卓自动点击器pro
  4. 去掉xp系统ftp服务器密码,xp系统ftp服务器密码
  5. C++日常用的函数总结
  6. Blinn-Phong光照模型详解
  7. iOS unicode转中文
  8. 刑侦大队对涉及六个嫌疑人的一桩疑案的分析,编一程序,将作案人找出来(更好的逻辑分析)
  9. python安装失败0x80070570_e460安装win10系统报错0x80070570的解决方法
  10. c语言函数向量,引用C中函数返回的向量元素