摘要:
链接:https://ac.nowcoder.com/acm/problem/16564 来源:牛客网 题号:NC16564 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 在大学期间,经常 阅读全文
摘要:
题1 7-10 特殊约瑟夫问题 (10 分) 编号为1…N的N个小朋友玩游戏,他们按编号顺时针围成一圈,从第一个人开始按逆时针次序报数,报到第M个人出列;然后再从下个人开始按顺时针次序报数,报到第K个人出列;再从下一个人开始按逆时针次序报数,报到第M个人出列;再从下个人开始按顺时针次序报数,报到第K 阅读全文
摘要:
题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串。例如 "carbon"的字串是: "c", "ca", "car", "carb", "carbo", 和 "carbon"。注意到这里我们不认为空串是字串, 但是每个非空串 阅读全文
摘要:
广度优先搜索 我理解为先将当前的所有可能理清,再进行下一层的梳理。 深度优先则是一次性走到底再逐层返回对上一层进行梳理。 #include<stdio.h> void find(int n); typedef struct node1{ int x; int y; int step; }New; N 阅读全文
摘要:
#include<stdio.h> int a[1005][1005],n,m,n_x,n_y,s_x,s_y,book[1005][1005],min=1005; void find(int x,int y,int step); void go(int x,int y); int main(){ 阅读全文
摘要:
配合for循环和递归进行搜索 深度优先搜索侧重于将当下如何做,然后利用递归不断进行“当下”,直到基准情况返回。 下面代码 输入一个数字(1-9)输出 123...n的全排列 #include<stdio.h> void put(int n); int num,a[10],book[10],count 阅读全文
摘要:
这个代码写的枚举不是书上的每一位都进行枚举,而是从最小排列数枚举到最大排列数(我觉得这样会减少一些时间?),对每一个数的每一位进行重复判断和是不是在1-n的一个判断。 #include<stdio.h> #include<string.h> int main(){ int n,book[10],mi 阅读全文
摘要:
在枚举时,如果有枚举对象可以通过计算替代,那么直接用计算替代即可,可以大大减少枚举带来的时间。 #include<stdio.h> #include<string.h> int main(){ int a[10]={6,2,5,5,4,5,6,3,7,6},n,book[100][100]; mem 阅读全文
摘要:
先不写了,散步去。这段代码没有检查路径是不是可以通行。 #include<stdio.h> void find(int x,int y); int max=-1,max_x,max_y; char a[50][50]; int main(){ int h,w; scanf("%d%d",&h,&w) 阅读全文
摘要:
极致的暴力带来风扇渡劫般的咆哮 去掉了重复的式子 #include<stdio.h> int main(){ // xxx+xxx=xxx; int a[10],book[10],num1,num2,num3,total=0; for(a[0]=1;a[0]<=9;a[0]++){ for(a[1] 阅读全文