代码自动机(攻 ACwing 限时题)
利用freopen读入
再用keybd_event函数模拟键盘敲击
(光标在倒计时结束前要放到需要输入的部分)
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int tot=0;
void an(int a)
{
    keybd_event(a,0,0,0);
    keybd_event(a,0,KEYEVENTF_KEYUP,0);
}
void dx1()
{
    keybd_event(16,0,0,0);
}
void dx2()
{
    keybd_event(16,0,KEYEVENTF_KEYUP,0);
}
bool f=1;
int main()
{
    freopen("b.in","r",stdin);
    char t;
    for(int i=5;i>=0;i--)
    {
        cout<<i<<endl;
        Sleep(1000);
    }
    while(1)
    {
        keybd_event(46,0,0,0);
        keybd_event(46,0,KEYEVENTF_KEYUP,0);
        system("cls");
        t=getchar();
        if(t==10)
        {
            an(13);
            for(int i=1;i<=300;i++)
            {
                keybd_event(46,0,0,0);
                keybd_event(46,0,KEYEVENTF_KEYUP,0);
            }
            f=0;
            continue;
        }
        else if(t==' '&&f==1)
        {
            an(32);
            f=0;
            continue;
        }
        f=1;
        if(t>='a'&&t<='z')
            an(int(t)-32);
        else if(t>='A'&&t<='Z')
        {
            dx1();
            an(int(t));
            dx2();
        }
        else if(t>='0'&&t<='9')
            an(int(t));
        else if(t=='~'||t=='!'||t=='@'||t=='#'||t=='$'||t=='%'||t=='^'||t=='&'||t=='*'||t=='('||t==')'||t=='_'||t=='+'||t=='{'||t=='}'||t=='|'||t==':'||t=='"'||t=='?'||t=='<'||t=='>')
        {
            dx1();
            if(t=='~')
                an(192);
            else if(t=='!')
                an(49);
            else if(t=='@')
                an(50);
            else if(t=='#')
                an(51);
            else if(t=='$')
                an(52);
            else if(t=='%')
                an(53);
            else if(t=='^')
                an(54);
            else if(t=='&')
                an(55);
            else if(t=='*')
                an(56);
            else if(t=='(')//****************************
            {
                an(57);
                an(46);
            }
            else if(t==')')
                an(48);
            else if(t=='_')
                an(189);
            else if(t=='+')
                an(187);
            else if(t=='{')
                an(219);
            else if(t=='}')
                an(221);
            else if(t=='|')
                an(220);
            else if(t==':')
                an(186);
            else if(t=='"')//***********
            {
                an(222);
                an(46);
            }
            else if(t=='?')
                an(191);
            else if(t=='<')
            {
                an(188);
                an(46);
            }
            else if(t=='>')
            {
                an(190);
            }
            dx2();
        }
        else
        {
            if(t=='`')
                an(192);
            else if(t=='-')
                an(189);
            else if(t=='=')
                an(187);
            else if(t=='[')//************
            {
                an(219);
                an(46);
            }
            else if(t==']')
                an(221);
            else if(t=='\\')
                an(220);
            else if(t==';')
                an(186);
            else if(t=='\'')//************
            {
                an(222);
                an(46);
            }
            else if(t=='/')
                an(191);
            else if(t==',')
            {
                an(188);
            }
            else if(t=='.')
            {
                an(190);
            }
        }
    }
}
代码自动机(攻 ACwing 限时题)的更多相关文章
- Windows Socket五种I/O模型——代码全攻略(转)
		Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模式.可以通过多线程技术进行处理. 非阻塞模式:执行I/O操 ... 
- 【Python challenge】通关代码及攻略(0-11)
		前言: 最近找到一个有关python的游戏闯关,这是游戏中的思考及通关攻略 最开始位于:http://www.pythonchallenge.com/pc/def/0.html 第0关 题目分析 提示 ... 
- BZOJ 3252: 攻略(思路题)
		传送门 解题思路 比较好想的一道思路题,结果有个地方没开\(long\) \(long\) \(wa\)了三次..其实就是模仿一下树链剖分,重新定义重儿子,一个点的重儿子为所有儿子中到叶节点权值最大的 ... 
- WebShell代码分析溯源(第1题)
		<?php $POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);?> assert,是php ... 
- WebShell代码分析溯源(第1题)墨者学院
		一.访问链接 二.下载系统源码后直接放到D盾里扫描,扫到后门文件 三.查看该木马文件 <?php error_reporting(0); $_GET['POST']($_POST['GET']) ... 
- 墨者学院靶场之PHP代码分析溯源(第1题)
		申请靶场环境后 点开题目 一段奇怪的PHP代码 因为我自己电脑重装了win10系统,php+apache+mysql的环境本地主机觉得没必要弄了,于是我们用在线的PHP编码(百度一下到处都是) 复制进 ... 
- acwing刷题-放养又没有完全放养
		题目 一个鲜为人知的事实是,奶牛拥有自己的文字:「牛文」. 牛文由 26 个字母 a 到 z 组成,但是当奶牛说牛文时,可能与我们所熟悉的 abcdefghijklmnopqrstuvwxyz 不同, ... 
- acwing刷题--激光炸弹--前缀和(后期会有优化做法)
		地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi. 注意:不同目标可能在同一位置. 现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所 ... 
- 2-java-写代码技巧和交题注意点
		用java交题要严格按照规定写代码: 比如蓝桥杯就是: 1.不能有包名: 2.Class的名字必须是 Main; 代码补全建议: 1.main函数的头可以建立class时候直接勾选,也可以: 只输入 ... 
随机推荐
- 伪紫题p5194 天平(dfs剪枝)
			这题作为一个紫题实在是过分了吧...绿的了不起了.—————————————————————————— 看题第一眼,01背包无误.2min打好一交全屏紫色(所以这就是这题是紫色的原因233?) re原 ... 
- 入门react
			前言:今天翻到了好久之前学习react时的笔记,拿出来记录一下以免忘掉,里面主要是记录了安装环境,创建项目,启动项目,jsx,组件介绍,组件通信,多层嵌套,路由搭建,路由传参,redux.记录的比较浅 ... 
- on duplicate key update 的使用(数据库有就修改,没有就添加数据)
			on duplicate key update 使用:当数据库中有该数据就修改,没有就添加 MySQL语句如下: # id 不存在则添加数据,id存在就更新数据 INSERT INTO t_user( ... 
- activmq点对点(简单写法)
			开发环境 我们使用的是ActiveMQ 5.11.1 Release的Windows版,官网最新版是ActiveMQ 5.12.0 Release,大家可以自行下载,下载地址. 需要注意的是,开发时候 ... 
- Ansible之templates模板
			一.jinja2简介解 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Djanjo的模板引擎,并扩展了其语法和一系列强大的功能.ansible的模板配置文件就是用jinja2 ... 
- MyBatis批量更新动态sql
			<update id="updateDataKetState"> update ${tablespace}.IDEA_DATAKEY_STATE <trim pr ... 
- 理解Spark运行模式(三)(STANDALONE和Local)
			前两篇介绍了Spark的yarn client和yarn cluster模式,本篇继续介绍Spark的STANDALONE模式和Local模式. 下面具体还是用计算PI的程序来说明,examples中 ... 
- mysql中int、bigint、smallint、tinyint 长度
			mysql中int.bigint.smallint.tinyint 长度 bigint -2^63 (-9223372036854775808) 到 2^63-1 (92233720368547758 ... 
- nyoj 366 D的小L (全排列)
			D的小L 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给 ... 
- PHP是怎样重载的
			PHP 的重载跟 Java 的重载不同,不可混为一谈.Java 允许类中存在多个同名函数,每个函数的参数不相同,而 PHP 中只允许存在一个同名函数.例如,Java 的构造函数可以有多个,PHP 的构 ... 
