-
个人简介
反极域电子教室代码
#include<bits/stdc++.h> #include <windows.gh> using namespace std; void movexy(short x, short y){ COORD position={x, y}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut, position); } int main(){ movexy(37, 7); cout<<"反电子教室系统"<<endl; cout<<endl; cout<<" 目前可以反击:"<<endl; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED); cout<<" 红蜘蛛多媒体网络教室 - 输入 k-rs即可反击"<<endl; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11); cout<<" 极域电子教室 - 输入 k-jy即可反击"<<endl; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12); cout<<" 伽卡他卡电子教室 - 输入 k-yk即可反击"<<endl; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); cout<<" 如果在开启本程序后关闭本程序,"<<endl; cout<<" 本次反击将无效!"<<endl; cout<<" input >>> "; string s; cin>>s; if(s=="k-rs"){ system("cls"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED); cout<<" 红蜘蛛反击系统启动成功"<<endl; Sleep(1000); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); while(1) { system("taskkill /f /t /im REDAgent.exe"); system("cls"); } } if(s=="k-jy"){ system("cls"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11); cout<<" 极域反击系统启动成功"<<endl; Sleep(1000); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); while(1) { system("taskkill /f /t /im StudentMain.exe"); system("cls"); } } if(s=="k-yk"){ system("cls"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12); cout<<" 伽卡他卡反击系统启动成功"<<endl; Sleep(1000); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); while(1){ system("taskkill /f /t /im Student.exe"); system("cls"); } } return 0; }
map(键值对)笔记
#include <bits/stdc++.h> using namespace std; int main(){ map<int,int> m;//创建键值对 //键类型,值类型 m[1]=2;//插入键为1,值为2,如果存在键为1的键值对,将键为1的值修改为2 m[1]++; cout << m[1] << endl; cout << m.count(3) << endl; //如果存在键为3的键值对,返回1,否则返回0 cout << m.size() << endl; //返回键值对的数量 m.erase(1);//删除键为1的键值对 m.insert({1,3});//插入键值对1-3 m[5]=6; m[2]=4; //会自动将键值对按照键的升序排序(如果键是字符串,按照字典序排序) for(auto it:m){ cout<<it.first<<" ";//first表示键 cout<<it.second<<endl;//second表示值 } //要加-std=c++11 //键值对中键是唯一的,值是不唯一的 //插入,删除,修改的时间复杂度都是O(log(n)) return 0; }
原码,反码,补码之间的转换
数据是以二进制的形式存放的 以补码的形式存放 正数 9 0000 1001 原码 = 反码 = 补码 负数 -9 1000 1001 原码 1111 0110 反码 = 原码除了符号位取反/补码-1 1111 0111 补码 = 反码+1 补码的作用:简化整数加减法的运算 举例: 10-9: 0000 1010 (10的补码) + 1111 0111 (-9的补码) ---------------- 0000 0001 (1的补码)
十进制小数转二进制小数
口诀: 乘2取整,正序排列 0.25 转为二进制小数 0.25*2=0.5 取整整数 0 0.5*2=1 取整整数 1 正序排列 0.01
二进制小数转十进制
举例: 0 . a b c 0 . a*1/2的1次方 + b*1/2的2次方 + c*1/2的3次方
不同类型的数据范围
1Byte = 8bit 关键词 二进制bit 字节Byte bool 8 1 char 8 1 short 16 2 int 32 4 long long 64 8 float 32 4 double 64 8
无符号整数 string a.size()的返回值是无符号整
unsigned int 全部表示正数 范围是 0 ~
unsigned long long 全部表示正数 范围是 0 ~
对于有符号数:
正数的最大值:
负数的最小值:
负数会比正数多一个
二叉堆基本操作 二叉堆(优先队列priority_queue) 父<子:小顶堆 父>子:大顶堆 插入的时间复杂度:O(log(n)) 删除的时间复杂度:O(log(n)) 查询最值的时间复杂度:O(1) 创建一个二叉堆 priority_queue<int,vector<int>,greater<int> > small;//小顶堆 priority_queue<int,vector<int>,less<int> > big;//大顶堆 堆名.push(元素);//插入元素 堆名.pop();//删除堆顶 堆名.top();//返回堆顶 堆名.size();//返回二叉堆的大小 堆名.empty();//如果二叉堆为空返回1,否则返回0
-
通过的题目
-
最近活动
题目标签
- 初窥门径
- 110
- 顺序结构
- 46
- 分支结构
- 35
- 循环结构
- 25
- 略有小成
- 22
- 字符串
- 21
- 驾轻就熟
- 10
- GESP三级
- 10
- 其他
- 9
- 循环嵌套
- 8
- 排序
- 8
- GESP
- 7
- 一维数组
- 6
- 搜索
- 6
- 枚举
- 6
- GESP二级
- 6
- 蓝桥杯
- 4
- 模拟
- 4
- 电子学会一级
- 4
- for循环
- 3