2025/7/12 学习内容

2025/7/12 学习内容

今天主要对数据结构在算法中的应用,以及对应的STL库进行了复习训练

一共刷了九道题,在下面会给出一部分我认为适合练习的题的题单(虽然在思路上不算难,但是代码细节还是还是需要非常细心的):

1812. 判断国际象棋棋盘中一个格子的颜色

119. 杨辉三角 II

[士兵队列训练问题](Problem - 1276)

[NOIP2017]图书管理员

[Team Queue](Problem - 1387)

[!CAUTION]

我按照个人感受由易到难排序,感兴趣的可以练一下,题解在文章后面

由于今天临时有点事,所以大部分题都是来自于英雄编程课程中的,后续会多找一些其他的题

接下来是一些知识点,都是基础,可以根据需求选择性阅读

重要的事情再说一遍 题解代码在文章后面

一、语法

vector <数据类型>

类比于顺序表

n.push_back(元素):将元素插入到顺序表尾部

n.size():顺序表长度

stack<数据类型>

栈的c++库函数,适用于进制转换,匹配算法等问题

n.push(元素):入栈

n.empty():判空

n.pop():栈顶元素出栈

n.top():访问栈顶元素

下面是使用栈进行十进制转二进制的代码示例以及模板练习题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
stack <int> s;
while (cin>>n) {
while (n) {
s.push(n%2);
n/=2;
}
while (!s.empty()) {
cout<<s.top();
s.pop();
}
cout<<"\n";
}
return 0;
}

模板练习:[Bitset](Problem - 2051)

阅读全文

三子棋

C语言实现简易三子棋游戏

前言

三子棋(Tic-tac-toe)是一种简单而经典的两人对战游戏,规则简单,但蕴含着一定的策略性。本文将介绍如何使用C语言实现一个简易的三子棋游戏,通过这个小项目,我们可以学习到C语言的基本语法、二维数组的使用、函数的定义与调用、条件判断等知识点。

游戏规则

  • 游戏在3×3的棋盘上进行
  • 玩家使用符号 ‘*’,电脑使用符号 ‘#’
  • 玩家和电脑轮流在棋盘上放置自己的符号
  • 谁先在横、竖或对角线上连成一条线,谁就获胜
  • 如果棋盘填满但没有连成线,则游戏平局
阅读全文

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment