计算智能
学校开设的课程
WAWA战士
起飞
展开
-
18124 N皇后问题
学明白了树这种数据结构后,dfs和bfs很快就明白了 思路:dfs,画出树状图,每个点有n个分支,即有n行的选择,树的第i层代表第i个棋子,每个棋子的每个分支都要检验是否可行,可行就继续dfs下去,最终每一个棋子都被安排好位置后,即为一种方案 #include<iostream> #include<cmath> #include<algorithm> using namespace std; //默认第i个棋子,就在第i列 int way;//方案数 void find原创 2020-06-03 20:11:46 · 278 阅读 · 0 评论 -
poj1006生理周期
#include <cstdio> #include <iostream> using namespace std; int main() { long long p,e,i,d,k,ca=0; while(cin>>p>>e>>i>>d&&p!=-1) { for(k=d+1;(k-p)%23!=0;k++); for(;(k-e)%28!=0;k+=23);原创 2020-05-27 13:51:34 · 112 阅读 · 0 评论 -
18721 快速排序
思路: 定义一个基准值(以他为标准进行比较),将其拿出来,然后把所有比他大的都放在他右侧,小的放左侧,下图关键点+1是有原因的, 你想,我们平时快排肯定high,那么这里最终也一定要实现成high的,不然就越界, 因此我们可以联想到do…while语句,即先减掉1再说,这就实现到high了 #include <stdio.h> #include <stdlib.h> int...原创 2020-04-01 22:34:57 · 608 阅读 · 0 评论 -
1142 巡逻的士兵(递归)
思路: 画出树状图可知奇数情况是有两个分支,即当前方案数等于拿掉奇数个后的方案数加上拿掉偶数个后的方案数 而偶数只有一种情况,因为无论怎么拿,偶数和奇数数目是相同一样的,直接2*其中一种就行 边界条件很明显,在最终只剩下3个的时候有1种方案,小于3则没有方案 #include<cstdio> #include<iostream> using namespace std; t...原创 2020-03-31 13:03:28 · 239 阅读 · 0 评论 -
18444 分数拆分(暴力枚举)
思路:枚举 #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; int main() { ll i,j,k,n; while(scanf("%lld",&n)!=-1) { for(i=n+1;i<=n*3;i++...原创 2020-03-28 13:28:50 · 940 阅读 · 0 评论 -
18290 校赛排名2(sort函数)
这道题很有趣! 思路:判断当前队伍是否出现过,然后判断ac还是wa,关键在于每道题ac以及wa的表示,更重要的是把字母题号编写成数字序号,这样好写很多,因此要用一个数组用于标记ac题号,另一个数组用于wa题号 #include<stdio.h> #include<algorithm> #include<string.h> using namespace std;...原创 2020-03-21 16:19:47 · 882 阅读 · 2 评论 -
18104 练习使用多case解题(基础)
#include<stdio.h> long long gcd(long long x,long long y) { long long z; while(y!=0) { z=x%y; x=y; y=z; } return x; } int main() { ...原创 2020-03-04 16:05:11 · 515 阅读 · 0 评论