對酒當歌,人生幾何? 譬如朝露,去日苦多

2017年12月

c.sublime-build

{
	"working_dir": "$file_path",
	"cmd": "gcc -Wall \"$file_name\" -o \"$file_base_name\"",
	"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
	"selector": "source.c",
 
	"variants": 
	[
		{	
		"name": "Run",
        	"shell_cmd": "gcc -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
		}
	]
}

c++.sublime-build

{
    // "shell_cmd": "make"
    "encoding": "utf-8",
    "working_dir": "$file_path",
    "shell_cmd": "g++ -Wall -std=c++0x \"$file_name\" -o \"$file_base_name\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.cpp",

    "variants": 
    [
        {   
        "name": "Run",
            "shell_cmd": "g++ -Wall -std=c++0x  \"$file\" -o \"$file_base_name\" && \"${file_path}/${file_base_name}\""
        },
        {   
        "name": "RunInCmd",
            "shell_cmd": "g++ -Wall -std=c++0x  \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause \""
        }
    ]
}

 

1.Fate/Apocrypha

不算10月番了吧,算了,把它归为10月番吧,应该是刚开始最期待的番剧了吧,但是后来剧情真是不想说,一切发生的都是那么突然(其实就是无理取闹罢了),贞德真是让我失望吧!看到23集已经不想看了,最喜欢的一对都死了,还有什么看头?

2.宝石之国

刚开始抱着看一看的心态,但是后面的剧情发展出乎意料,最后结局我认为还可以吧!

男主应该是和那些前辈们一样,走同样的路吧!虽是不同的人,剧情确实如此的相似!

3.此花亭奇谭

其实我个人并不是很喜欢特别萌的番的,也是抱着看一看的心态,发现此番并不是废萌番,而是一部挺有意思的治愈番,越来越喜欢看!

4.十二大战

我的感觉就是除了11集好看,其他一般。

5.幻界战线 & BEYOND

非常搞笑,也非常有意义,好玩!

1.以前学的KMP比较急,其实根本不懂。(重学了一遍,彻底理解)

2.暴力匹配就不多说了,那么有什么办法可以优化呢?那就是向前移动多个位置,但是在移动多个位置的同时,必需满足的是要匹配的字符串必需在前面出现过,而且是从开头,不然你无法判断在移动之后,开头那部分是否相同,这一点应该好想。(其实就是找每个所有字串的前后缀是否相等)

3.next数组保存的就是,如果不匹配就从j=next[j]开始向后匹配(其实就是跳到next[j]这个位置,重新比较)

4.那么怎么构造next数组呢?找i和j记录主串和模式串各自的位置,如果匹配就继续同时向后移,如果不相等,主串的i就需要移回起点,继续寻找前后缀相等的字符串。

 

学习

1.让自己先明白此事非做不可,然后全力去做

2.此下几种必需掌握到中等水平

ubuntu ♥ ,未完成

html+css+js ♥,未完成

python ♥,未完成

java ♥,未完成

php ♥,未完成

3.不在更改博客主题,等学完上面的以后在优化博客


生活:

1.没事早点睡,11点,别逛微博和bilibili了

2.不要装b,别人不问就不要乱说,要不然容易自傲


弱鸡的ACM:(目标,省赛:Gold,Icpc:silver)

1.cf刷500道题+模拟题100道,到大二下学期开学之前

 

#include<iostream>
#include<string.h>
#include<string>
#include<conio.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
#define LL long long int
#define mem(a) memset(a,0,sizeof(a))
typedef struct node
{
    LL num;//学号
    char name[100];//姓名
    char sex[100];//性别
    int year;//年
    int month;//月
    int day;//日
    char edu[100];//学历
    LL tel;//电话
    struct node *next;
} linklist;
void face(linklist *G);
void menu(linklist *G); //显示菜单
void creat(linklist *G);//创建
void insertt(linklist *G);//插入
void display(linklist *G);//显示
void inqure(linklist *G);//查询
void modify(linklist *G);//修改
void deletee(linklist *G);//删除
void bye();//退出
void face(linklist *G)  //外表(完成)
{
    system("color 5E");
    puts("\t\t\t\t  欢迎进入张晓阳大学学生管理系统");
    puts("\t\t\t**************************************************");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @               学生成绩管理系统                 @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                 制作人:张晓阳  @");
    puts("\t\t        @                                日期:2017-12-13 @");
    puts("\t\t\t**************************************************");
    printf("\n\t\t\t\tPress [ Enter ] key to continue……\n");
    getchar();
    system("cls");
    menu(G);
}
void menu(linklist *G)//显示菜单(完成)
{
    system("cls");
    int flag=1,n;
    while(flag)
    {
        system("color 3e");
        puts("\t\t\t\t     欢迎进入学生学籍管理系统");
        puts("\t\t\t**************************************************");
        puts("\t\t        @                   1.创建                       @");
        puts("\t\t        @                   2.插入                       @");
        puts("\t\t        @                   3.显示                       @");
        puts("\t\t        @                   4.查询                       @");
        puts("\t\t        @                   5.修改                       @");
        puts("\t\t        @                   6.删除                       @");
        puts("\t\t        @                   7.退出                       @");
        puts("\t\t        @                             *********          @");
        puts("\t\t        @                             *  zxy  *          @");
        puts("\t\t        @                             *********          @");
        puts("\t\t\t**************************************************");
        printf("\t\t\t请选择服务种类(1-7) : [ ]\b\b");
        scanf("%d",&n);
        if(n>=1&&n<=7)
        {
            flag=0;
        }
        else
        {
            system("cls");
            printf("\n\t\t\t选择出错,请重新选择。。。\n");
        }
    }
    if(n==1)
    {
        creat(G);
    }
    else if(n==2)
    {
        insertt(G);
    }
    else if(n==3)
    {
        display(G);
    }
    else if(n==4)
    {
        inqure(G);
    }
    else if(n==5)
    {
        modify(G);
    }
    else if(n==6)
    {
        deletee(G);
    }
    else if(n==7)
    {
        bye();
    }
}
void creat(linklist *G)//创建
{
    system("cls");
    system("color 3e");
    linklist *p,*q;
    p=new linklist;
    p=G;
    printf("输入录入学生人数:");
    int n;
    scanf("%d",&n);
    for(int i=1; i<=n; i++)
    {
        printf("第%d个学生信息:\n",i);
        q=new linklist;
        printf("学号:");
        scanf("%lld",&q->num);
        //printf("\n");

        printf("姓名:");
        scanf("%s",q->name);
        //printf("\n");

        printf("性别:");
        scanf("%s",q->sex);
        //printf("\n");

        printf("出生年:");
        scanf("%d",&q->year);
        //printf("\n");

        printf("出生月:");
        scanf("%d",&q->month);
        //printf("\n");

        printf("出生日:");
        scanf("%d",&q->day);
        //printf("\n");

        printf("学历:");
        scanf("%s",&q->edu);
        //printf("\n");

        printf("手机号:");
        scanf("%lld",&q->tel);
        //printf("\n");
        q->next=NULL;
        p->next=q;
        p=q;
    }
    getchar();
    printf("\n");
    printf("按回车退出。。。\n");
    getchar();
    menu(G);
}
void insertt(linklist *G)//插入
{
    system("cls");
    system("color 3e");
    printf("在某学号前插入,此学号为:");
    LL aa;
    scanf("%lld",&aa);
    linklist *next;
    next=new linklist;
    next=G->next;
    int flag=0;
    while(next)
    {
        if(next->num==aa)
        {
            printf("找到此学号,请输入插入学生信息\n");
            linklist *q;
            q=new linklist;
            //q=new linklist;
            printf("学号:");
            scanf("%lld",&q->num);
            //printf("\n");

            printf("姓名:");
            scanf("%s",q->name);
            //printf("\n");

            printf("性别:");
            scanf("%s",q->sex);
            //printf("\n");

            printf("出生年:");
            scanf("%d",&q->year);
            //printf("\n");

            printf("出生月:");
            scanf("%d",&q->month);
            //printf("\n");

            printf("出生日:");
            scanf("%d",&q->day);
            //printf("\n");

            printf("学历:");
            scanf("%s",&q->edu);
            //printf("\n");

            printf("手机号:");
            scanf("%lld",&q->tel);
            q->next=next->next;
            next->next=q;
            flag=1;
            break;
        }
        else
        {
            next=next->next;
        }
    }
    if(flag)
    {
        printf("插入成功\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
    else
    {
        printf("插入失败\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
}
void display(linklist *G)//显示
{
    system("cls");
    system("color 3e");
    linklist *q;
    q=new linklist;
    q=G->next;
    int tt=1;
    while(q)
    {
        printf("第%d个学生信息\n",tt++);
        printf("学号:");
        printf("%lld",q->num);
        printf("\n");

        printf("姓名:");
        printf("%s",q->name);
        printf("\n");

        printf("性别:");
        printf("%s",q->sex);
        printf("\n");

        printf("出生年:");
        printf("%d",q->year);
        printf("\n");

        printf("出生月:");
        printf("%d",q->month);
        printf("\n");

        printf("出生日:");
        printf("%d",q->day);
        printf("\n");

        printf("学历:");
        printf("%s",q->edu);
        printf("\n");

        printf("手机号:");
        printf("%lld",q->tel);
        q=q->next;
    }
    getchar();
    printf("\n");
    printf("按回车退出。。。\n");
    getchar();
    menu(G);
}
void inqure(linklist *G)//查询
{
    system("cls");
    system("color 3e");
    printf("输入你要查询的学号:");
    LL aa;
    scanf("%lld",&aa);
    linklist *q;
    q=new linklist;
    q=G->next;
    int flag=0;
    while(q)
    {
        //printf("fsalfd\n");
        if(q->num==aa)
        {
            printf("查到此学号,信息为:\n");
            printf("学号:");
            printf("%lld",q->num);
            printf("\n");

            printf("姓名:");
            printf("%s",q->name);
            printf("\n");

            printf("性别:");
            printf("%s",q->sex);
            printf("\n");

            printf("出生年:");
            printf("%d",q->year);
            printf("\n");

            printf("出生月:");
            printf("%d",q->month);
            printf("\n");

            printf("出生日:");
            printf("%d",q->day);
            printf("\n");

            printf("学历:");
            printf("%s",q->edu);
            printf("\n");

            printf("手机号:");
            printf("%lld",q->tel);
            flag=1;
            break;
        }
        else
        {
            q=q->next;
        }
    }
    printf("\n");
    if(flag)
    {
        printf("查找成功\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
    else

    {
        printf("查找失败\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
}
void modify(linklist *G)//修改
{
    system("cls");
    system("color 3e");
    printf("输入你要修改的学号:");
    LL aa;
    scanf("%lld",&aa);
    linklist *q;
    q=new linklist;
    q=G->next;
    int flag=0;
    while(q)
    {
        //printf("fsalfd\n");
        if(q->num==aa)
        {
            printf("查到此学号:\n");

            printf("姓名修改为:");
            scanf("%s",q->name);
            //printf("\n");

            printf("性别修改为:");
            scanf("%s",q->sex);
            //printf("\n");

            printf("出生年修改为:");
            scanf("%d",&q->year);
            //printf("\n");

            printf("出生月修改为:");
            scanf("%d",&q->month);
            //printf("\n");

            printf("出生日修改为:");
            scanf("%d",&q->day);
            //printf("\n");

            printf("学历修改为:");
            scanf("%s",&q->edu);
            //printf("\n");

            printf("手机号修改为:");
            scanf("%lld",&q->tel);
            flag=1;
            break;
        }
        else
        {
            q=q->next;
        }
    }
    printf("\n");
    if(flag)
    {
        printf("查找成功\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
    else

    {
        printf("查找失败\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
}
void deletee(linklist *G)//删除
{
    system("cls");
    system("color 3e");
    printf("输入你要删除的学号:");
    LL aa;
    scanf("%lld",&aa);
    linklist *first,*next;
    first=new linklist;
    next=new linklist;
    first=G;
    next=G->next;

    int flag=0;
    while(next!=NULL)
    {//printf("hfkjsdfjksd\n");
        if(next->num==aa)
        {
            linklist *q;
            q=new linklist;
            q=next;
            first->next=next->next;
            delete q;
            flag=1;
            break;
        }
        else
        {
            next=next->next;
        }
    }
    if(flag)
    {
        printf("删除成功!\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
    else
    {
        printf("删除失败!\n");
        getchar();
        printf("\n");
        printf("按回车退出。。。\n");
        getchar();
        menu(G);
    }
}
void bye() //退出(完成)
{
     system("cls");
    system("color 0F");
    puts("\t\t\t**************************************************");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                    再见!                      @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t        @                                                @");
    puts("\t\t\t**************************************************");
    exit(0);
}
int main()
{
    linklist G;
    G.next=NULL;
    face(&G);
    return 0;
}