- 博客(30)
- 收藏
- 关注
原创 P1184 高手之在一起
(char)13)//最后一个是否是' 'if (input[input.size()-1]!=(char)13)//最后一个是否是' 'getline(cin,input);//把数字后面乱七八糟的东西读干净。
2024-02-09 11:21:37 149 1
原创 P1105 平台
if(t[i].L > t[j].L && t[i].L < t[j].R) { //当左端点在某个平台内时(不包括两端)printf("%d %d\n", t[i].ansL, t[i].ansR);//id时编号,H, L, R分别为高度、左端点、右端点。inline bool pd2(Tabel a, Tabel b) { //用于排序的pd2函数。if (a.H == b.H) { //假如高度相同(重复的)就使用编号排序。if(a.id > b.id) { //按照id排序。
2024-02-09 11:21:00 394 1
原创 P1101 单词方阵
if(nx < 1 || nx > n || ny < 1 || ny > n) { //判越界。j++) { //以1个方向比较 “izhong”if(A[i][j] == 'y') dfs(i,j);= A[nx][ny]) { //判断第j位是否符合。j++) { //符合就记录在ans数组里。
2024-02-09 11:19:41 308 1
原创 P1088 [NOIP2004 普及组] 火星人
1:sl[cur]);i++)//这一步做的工作是将现在的dfs迅速递归到找到最初序列的状态。void dfs(int cur)//从当前数列开始全排。vis[i])//基本的全排列。void print()//输出函数。
2024-02-09 11:13:49 222 1
原创 P1087 [NOIP2004 普及组] FBI 树
void gou_zao_shu(int from/*字符串起始点*/,int to/*字符串截止点*/,int l/*从哪里来(所谓的父节点)*/,int pds/*判断是父节点的左或右孩子*/){if(n[n[x].sonl].visit==1&&n[n[x].sonr].visit==1){//左右孩子都被遍历。if(n[x].sonl==0&&n[x].sonr==0){//叶节点(左右孩子均为0)
2024-02-09 11:13:18 236 1
原创 P1086 [NOIP2004 普及组] 花生采摘
/由于我们要考虑多多采花生返回,而返回的路程就是深度即x,如果加上这个x可以按时返回的话就采这个花生。if(a[i][j]>0) {//当它下面有花生的时候就存它的数据。
2024-02-09 11:12:46 202 1
原创 P1036 [NOIP2002 普及组] 选数
i++)//不想用sqrt,还要头文件。void dfs(int m, int sum, int startx){//最重要的递归。if(isprime(sum))//如果和是素数。if(a % i == 0)//如果整除。bool isprime(int a){//判断素数。//升序起始值要变成i+1,以免算重。if(m == k){//如果选完了的话。
2024-02-09 11:11:13 409 1
原创 P2708 硬币翻转
/将硬币标号从0——n-1变为1——n(个人习惯啦)if(i==l)//若一直找到最后都是1,那么恭喜啦,硬币都已翻到正面!if(c[i]=='0') //只要遇到0说明还得再翻。if(a=='0') //若第一个硬币是反的。else //若第一个硬币是反的。if(c[i]==a) //那只要遇到反的。if(c[i]==a) //那只要遇到正的。else //若遇到了正的。
2024-02-02 23:04:02 401
原创 P2708 硬币翻转
/将硬币标号从0——n-1变为1——n(个人习惯啦)if(i==l)//若一直找到最后都是1,那么恭喜啦,硬币都已翻到正面!if(c[i]=='0') //只要遇到0说明还得再翻。if(a=='0') //若第一个硬币是反的。else //若第一个硬币是反的。if(c[i]==a) //那只要遇到反的。if(c[i]==a) //那只要遇到正的。else //若遇到了正的。
2024-02-02 23:02:35 253
原创 B3618 寻找团伙
/记录二进制分值,等价于a[i] += (1ull << (k - x))或a[i] += (1ull * pow(2, k - x))ull n, k, a[22], ans;//用unsigned long long记录最大 2^k 的数据, (其实long long也可以)dfs(dep + 1, now ^ a[dep]);//选这个人,抑或上他的分值。if(dep > n) {//取了n个人以后。
2024-01-31 20:22:23 112 1
原创 P2708 硬币翻转
s[i+1])//如果当前硬币与下一个硬币状态不同,说明要翻一次。//用一个变量存储,防止重复计算长度。if(s[len-1]=='0')//最后一位是0,还要再翻一次。//要翻转的硬币串。int sum=0;cout<<sum;
2024-01-31 20:19:58 110
原创 P1294 高手去散步
if(Edge[k][i]>0&&b[i]==0) //是否有没走过的路。//清空用过的标记数组。//注意是无向图,需存两边。int dfs(int k,int su)//分别是当前位置和当前取到的距离。
2024-01-31 20:14:06 79
原创 P1162 填涂颜色
/如果染过色以后i,j那个地方还是0,说明没有搜到,就是周围有墙,当然就是被围住了,然后输出2。//因为被染色了,本来没有被围住的水和墙都染成了1,所以就输出b[i][j]int dy[5]={0,0,0,-1,1};//搜索 从0,0开始搜。a[p][q]=1;
2024-01-31 20:13:31 197
原创 P1036 [NOIP2002 普及组] 选数
i++)//不想用sqrt,还要头文件。void dfs(int m, int sum, int startx){//最重要的递归。if(isprime(sum))//如果和是素数。if(a % i == 0)//如果整除。//升序起始值要变成i+1,以免算重。bool isprim(int a){//判断素数。if(m == k){//如果选完了的话。
2024-01-31 20:11:12 126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人