• 题解 P4470 【[BJWC2018]售票】


    这题的主要思想还是 暴力 模拟,加上一点字符串技巧~

    有个字符串函数叫做strncmp(我翻了好久的书才翻到,然而写题解前一看,已经有人这么做了QAQ),有三个参数,分别是两个字符数组和一个比较长度,用法是strncmp(char a[],char b[],int l)它是用来比较字符串a和b前l个字符是否相同;

    类似于这个:

    if(a>b) return 1;
    else if(a==b) return 0;
    else if(a<b) return -1;
    

    Pascal是这个:

    if a>b exit(1)
    else if a=b exit(0)
    else if a<b exit(-1);
    

    所以,我们只要判断返回值是不是0就行了。

    哦,对了,这里还有一个找规律的方法:

    对于大写字母c,有

    x坐标=(c-65)%8+3;(ord(c)mod 8+3)

    y坐标=(c-65)/8;(ord(c) div 8)

    这个对于往键盘上填数有帮助。

    代码如下

    #include<bits/stdc++.h> 
    using namespace std;
    int main()
    {
    	char x[60][200],p[200];
    	int n;
    	char ans[4][8];
    	memset(ans,'*',sizeof(ans));
    	cin>>n;
    	for(int i=0;i<n;i++) cin>>x[i];
    	cin>>p;
    	int l=strlen(p);
    	for(int i=0;i<n;i++)
    	{
    		if(strncmp(p,x[i],l)==0)
    		{
    			int k=x[i][l]-65;
    			int a=k%8+3;
    			int b=k/8;
    			ans[b][a]=x[i][l];
    		}
    	}
    	for(int i=0;i<4;i++)
    	{
    		for(int j=0;j<8;j++)
    		cout<<ans[i][j];
    		cout<<endl; 
    	}
    	return 0; 
    }
    

    代码不长,思路简单,886~

  • 相关阅读:
    链表栈
    双链表
    Linux sar命令查看系统资源使用情况
    Linux 命令(w/who/whoami/who am i)
    shell脚本引用expect
    expect 免交互配置互信
    expect 远程传输文件
    expect 远程执行命令-02
    expect 远程执行命令-01
    expect 脚本自定义变量和位置变量
  • 原文地址:https://www.cnblogs.com/oierscw/p/12542206.html
Copyright © 2020-2023  润新知