泰安营销网站建设,行业门户网站运营,沈阳网站建设选网龙,asp.net空网站*问题描述#xff1a;抓兔子n个排成一排的洞#xff0c;编号为1到n#xff0c;兔子每天晚上会跳到相邻的一个洞里#xff0c;小q每天只能白天检查其中的一个洞#xff0c;小q会告诉你每天检查的洞#xff0c;分析是否一定能抓到兔子示例#xff1a;3个洞#xff0c;第一…*问题描述抓兔子n个排成一排的洞编号为1到n兔子每天晚上会跳到相邻的一个洞里小q每天只能白天检查其中的一个洞小q会告诉你每天检查的洞分析是否一定能抓到兔子示例3个洞第一天检查2号洞第二天检查2号洞就会抓到兔子 输入描述n,k(n,k1e3)分别代表洞的个数小q检查的天数 接下来k个数表示小q检查洞的个数 分析可以通过dp方法解决代码如下有注释 #includebits/stdc.h
using namespace std;int caclute[1005][1005];//通过动态规划记录数据
int main()
{int n,k;//n代表洞的个数k代表检查的天数int check[1005];//用来存储每天检查洞的位置cinnk;for(int i 0;i k;i) cincheck[i];//处理第一天检查for(int i0;in;i){caclute[0][i]1;} caclute[0][check[0]-1]0;//循环处理for(int i 0;ik;i){//每天轮着进行检查for(int j 0;jn;j){if(caclute[i][j] 1){if(j 0)caclute[i1][j1] 1;else if(j n-1) caclute[i1][j-1]1;else{caclute[i1][j1] 1; caclute[i1][j-1]1;}}}caclute[i1][check[i1]-1]]0;}int flag1;for(int i 0;in;i){if(caclute[k][i] 1){flag 0;break;}}if(flag)puts(yes);else puts(no);
} 转载于:https://www.cnblogs.com/lyf-sunicey/p/9319010.html