C语言
c语言入门
是zg啊!
细水长流!
展开
-
枚举排列的两种方式(递归枚举和STL的next_permutation)
枚举排列的常见方法有两种:一是递归枚举,二是用STL中的 next_permutation.一、递归枚举:对于生成1~n的排列思路:用递归的思想解决:先输出所有以1开头的排列(这一步是递归调用),然后 输出以2开头的排列(又是递归调用),接着是以3开头的排列……最后才是以n开头的排 列。以1开头的排列的特点是:第一位是1,后面是2~9的排列。根据字典序的定义,这些2 ~9的排列也必须按照字典序排列。换句话说,需要“按照字典序输出2~9的排列”,不过需 注意的是,在输出时,每个排列的最前面要加上“1原创 2020-06-10 01:42:24 · 1250 阅读 · 0 评论 -
for(auto &i:s)和for(auto i:s)另一种循环方式
今天在某个平台看到了某位大神的题解,发现了这种更为简洁的循环方式。举个例子:for(auto i:s)#include <iostream>using namespace std;int main(){ int a[5]={1,2,3,4,5}; for(auto i:a) { cout<<i<<" "; } return 0;}for(auto &i:s)#include <iostream>using names原创 2020-09-06 06:12:57 · 1126 阅读 · 2 评论 -
Dev C++ [Error] range-based ‘for‘ loops are not allowed in C++98 mode
今天在学习到大佬的 另一种循环方式然后去试了试,结果就这样了……啊哈!range-based ‘for’ loops are not allowed in C++98 mode编译器不支持c++11 !!!!!!!!!!!!!借鉴了大佬们的经验,来粗糙地提供解决方案 ^ _ ^①找到工具栏的编译选项②点击里面的程序,找到**gcc:和g++:**这两行③在这两行的末尾分别加上 -std=c++11④ c++11的标准就由此添加上了,最后点击 确定 就完成了。最后原创 2020-09-06 06:58:45 · 580 阅读 · 3 评论 -
洛谷 1160 队列安排
题目描述一个学校里老师要将班上N个同学排成一列,同学被编号为1∼N,他采取如下的方法:1.先将1号同学安排进队列,这时队列中只有他一个人;2.2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)中某位同学(即之前已经入列的同学)的左边或右边;3.从队列中去掉M(M<N)个同学,其他同学位置顺序不变。在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的编号。输入格式第1行为一个正整数N,表示了有N个同学。第2−N行,第ii行包含两个原创 2020-09-15 09:58:14 · 407 阅读 · 0 评论 -
高精度四则运算
#include <iostream>#include <string>#include <cstring>using namespace std;const int MAXLEN=1000;int *str_to_int(char *str){ int len=strlen(str); int *a=new int[(len+1)*sizeof(int)]; for(int i=0;i<len;i++) a[i]=(int)st原创 2020-09-17 09:04:05 · 141 阅读 · 0 评论 -
洛谷 P2672 推销员
题目描述阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。螺丝街一共有N家住户,第i家住户到入口的距离为Si米。由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。阿明会从入口进入,依次向螺丝街的X家住户推销产品,然后再原路走出去。阿明每走1米就会积累1点疲劳值,向第i家住户推销产品会积累Ai点疲劳值。阿明是工作狂,他想知道,对于不同的X,在不走多余的路的前提下,他最多可以积累多少点疲劳值。输入描述:第一行有一原创 2020-10-06 00:17:52 · 171 阅读 · 0 评论