printf

拓展欧几里得 专题

放肆的年华 提交于 2020-04-06 11:32:23
大神orz (具体参考请点这) 我根据个人感觉弄了一下自己的思路 ZOJ 3609 : http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4712 求最小逆元,坑点就是对m=1的特判 /************************************************************** Problem:zoj 3609 User: youmi Language: C++ Result: Accepted Time:0s Memory:272kb ****************************************************************/ //#pragma comment(linker, "/STACK:1024000000,1024000000") //#include<bits/stdc++.h> #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <map> #include <stack> #include <set> #include <sstream> #include <cmath> #include <queue>

KMP,Trie,AC自动机题目集

放肆的年华 提交于 2020-04-06 08:47:44
字符串算法并不多,KMP,trie,AC自动机就是其中几个最经典的。字符串的题目灵活多变也有许多套路,需要多做题才能体会。这里收集了许多前辈的题目做个集合,方便自己回忆。 KMP题目: https://blog.csdn.net/qq_38891827/article/details/80501506 Trie树题目: https://blog.csdn.net/qq_38891827/article/details/80532462 AC自动机:模板 https://www.luogu.org/blog/42196/qiang-shi-tu-xie-ac-zi-dong-ji AC自动机题目集: https://www.cnblogs.com/kuangbin/p/3164106.html KMP: LuoguP3375 KMP模板 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=1000000+10; char a[N],b[N]; int n,m,nxt[N],f[N],g[N]; void get_next() { nxt[1]=0; for (int i=2,j=0;i<=n;i++) { while (j>0 && a[j+1]!=a[i]) j

寒假作业2

本秂侑毒 提交于 2020-04-06 06:14:43
#include<stdio.h> #include<math.h> int main() { int n; char x; while((scanf("%d",&n))!=EOF) { getchar(); scanf("%c",&x); int row; row=sqrt((n+1)*1.0/2); for(int i=0;i<row;i++) { for(int j=0;j<i;j++) printf(" "); for(int j=0;j<2*(row-i)-1;j++) printf("%c",x); printf("\n"); } for(int i=1;i<row;i++) { for(int j=0;j<row-i-1;j++) printf(" "); for(int j=0;j<2*i+1;j++) printf("%c",x); printf("\n"); } printf("%d\n",n+1-2*row*row); } return 0; } 来源: https://www.cnblogs.com/20188703zyj/p/10405732.html

Go语言中的fmt.Scan使用说明

ⅰ亾dé卋堺 提交于 2020-04-05 16:32:28
在go语言中如果想获取用户输入,会用到Scan方法。scan在go语言中有很多中,今天介绍一下他们的使用方法和不同点。 和print类似,scan也分为三大类: Scan、Scanf和Scanln: 从标准输入os.Stdin读取文本(从终端获取数据) Fscan、Fscanf、Fscanln: 从指定的io.Reader接口读取文本(通用) Sscan、Sscanf、Sscanln: 从一个参数字符串读取文本(从字符串string获取数据) Scan: 语法: func Scan(a ...interface{}) (n int, err error) 例: func main() { var str string fmt.Printf("请输入内容:") fmt.Scan(&str) fmt.Printf("str: %s",str) } /* scan将碰到第一个空格或换行符之前的内容赋值给变量。如果 scan中有多个变量,变量值用空格或换行符分割。所以换行和空 格是不能存储到变量内的。 */ Scanf: 语法:func Scanf(format string, a ...interface{}) (n int, err error) 例: func main() { var ( name string age int ) fmt.Printf("请输入内容:") fmt

How can variable field width be implemented with printf()?

随声附和 提交于 2020-04-05 05:47:12
问题 The question is : How can variable field width be implemented using printf() ? That is, instead of %8d , the width should be specified at run time. I came across some C code on the Internet based on the question above but as I am new to C programming I haven't been able to make heads or tails of the code. I am posting the code below: #include <stdio.h> int main() { const char text[] = "Hello world"; int i; for ( i = 1; i < 12; ++i ) { printf("\"%.*s\"\n", i, text); } return 0; } 回答1: First of

【C语言】23-typedef

ぃ、小莉子 提交于 2020-04-04 21:11:51
本文目录 一、typedef作用简介 二、typedef与指针 三、typedef与结构体 三、typedef与指向结构体的指针 四、typedef与枚举类型 五、typedef与指向函数的指针 六、typedef与#define 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 这讲介绍C语言中很常用的一个关键字---typedef。 回到顶部 一、typedef作用简介 * 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include <stdio.h> 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * argv[]) { 9 Integer i = -10; 10 UInterger ui = 11; 11 12 Float f = 12.39f; 13 14 printf("%d %d %.2f", i, ui, f); 15 16 return 0; 17 } 在第3、第4、第6行分别给int、unsigned int

Linux父子进程同步

白昼怎懂夜的黑 提交于 2020-04-04 08:25:12
/* * 使用信号实现父子进程之间的同步 * * TELL_WAIT(): set things up for TELL_xxx & WAIT_xxx * TELL_PARENT(): tell parent we are done * WAIT_PARENT(): wait for parent * TELL_CHILD(): tell child we are done * WAIT_CHILD(): wait for child * * SIGUSR1: the signal parent sends to child * SIGUSR2: the signal child sends to parent */ # include < sys / types . h > # include < signal . h > # include < unistd . h > # include < stdio . h > static volatile sig_atomic_t sigflag ; static sigset_t newmask , oldmask , zeromask ; /* signal handler for SIGUSR1 and SIGUSR2 */ static void sig_usr ( int signo ) { sigflag = 1 ;

专题训练之拓步排序

↘锁芯ラ 提交于 2020-04-04 04:26:05
推荐几个博客:https://blog.csdn.net/dm_vincent/article/details/7714519 拓扑排序的原理及其实现 https://blog.csdn.net/u012860063/article/details/38017661 拓扑排序的几种写法 https://blog.csdn.net/shahdza/article/details/7779389 拓扑排序题集 1.基于DFS的拓扑排序:一般适用于数据较小并且需要判断有无环的情况 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int maxn=150; 6 int n,vis[maxn],topo[maxn],cnt; 7 bool g[maxn][maxn],flag; 8 9 void dfs(int u) 10 { 11 if ( vis[u]<0 ) { 12 flag=false; 13 return; 14 } 15 if ( vis[u]>0 ) return; 16 else vis[u]=-1; //表示当前还在访问中 17 for ( int v=1;flag&&v<=n;v++ ) { 18 if ( g[u][v] ) dfs

linux中wait系统调用

人走茶凉 提交于 2020-04-03 16:52:39
系统中的 僵尸进程 都要由wait系统调用来回收,下面就通过实战看一看wait的具体用法: wait的函数原型是: #include <sys/types.h> /* 提供类型pid_t的定义 */ #include <sys/wait.h> pid_t wait(int *status); 返回值: 如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。 进程一旦调用了wait,就立即 阻塞自己 ,由wait 自动分析 是否当前进程的某个子进程已经 退出,如果让它找到了这样一个已经变成僵尸的子进程, wait就会收集这个子进程的信息,并把它彻底销毁后返回 ;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。 参数status用来保存被收集进程退出时的一些状态,它是一个指向int类型的指针。但如果我们对这个子进程是如何死掉的毫不在意,只想把这个僵尸进程消灭掉,(事实上绝大多数情况下,我们都会这样想),我们就可以设定这个参数为NULL,就象下面这样: pid = wait(NULL); 如果成功,wait会返回被收集的子进程的进程ID, 如果调用进程没有子进程,调用就会失败,此时wait返回-1,同时errno被置为ECHILD。 下面就让我们用一个例子来实战应用一下wait调用: /* wait1.c */

数据类型、常量、变量、printf、scanf和运算符

随声附和 提交于 2020-04-03 10:32:55
数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式。 C语言中有5大数据类型:基本类型、构造类型、指针类型、空类型、定义类型。 C语言中常见的数据类型: 各种数据类型在内存中占用的空间大小:(单位:字节)(1 Byte = 8 bit) 16位编译器 32位编译器 64位编译器 char 1 1 1 Int 2 4 4 Float 4 4 4 Double 8 8 8 Short 2 2 2 Long 4 4 8 Long long 8 8 8 Void *(指针变量) 2 4 8 各种数据的表示范围: 常量 常量就是在内存中固定的数据,不可改变其内容。 常见分类: 整型常量 a) 十进制常量,和自然界十进制表示法一致 b) 二进制常量,以0b(0B)开头,例如:0b1100 c) 八进制常量,以0开头,例如:045 d) 十六进制常量,以0x开头,例如:0x123 实型常量 a) 单精度常量,小数后面加f表示单精度常量。 例如:3.14f b) 双精度常量,和自然界小数表示方法一致。 例如:3.1415926 3.8e5(或3.8E5 相当于3.8 x 10 5 ) 字符型常量 用单引号括起来的单个字符表示。 a) 普通字符:例如: ‘A’ ‘b’ ‘$’等等 b) 转义字符:例如:’\n’ ‘\t’ ‘%%’