• 1055


    背景 Background  
      梓轩学姐正在备战NOI
         
         
      描述 Description  
      梓轩学姐为了练习数组的基本操作而请求了山神,包括了数组的输入,输出,查找,插入,删除操作。
    山神给了紫萱n个数,然而紫萱学姐是个蒟蒻并不会做,请你帮助她根据山神的操作命令对数组进行操作。

    数组下列操作命令
    1  i   (1代表输出命令,i代表要输出数组的第i个元素,)
    2  i k (2代表插入命令,i和k表示要在数组第i个元素后插入数字k)
    3  i   (3代表删除命令,i表示删除第i个数)
    4  k  (4代表查找命令,k是要查找的数,如果查找到,输出第一个查找到的数在数组的位置,如果找不到输出-1)

    具体解释看样例
         
         
      输入格式 Input Format  
      第一行一个n 表示数组有n个元素  (n<=100)
    第二行为n个正整数,小于10^6
    第三行为为m,表示下面有m个命令 5<=m<=10000
    每行一个命令,每行的第一个数表示命令的意义,数据保证命令合法有效。
         
         
      输出格式 Output Format  
      根据输入的相关命令,输出相应的值。
     
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<iomanip>
    using namespace std;
     int n,a[200];
     void x1(int i)
     {
        cout<<a[i]<<endl;
     }
     void x2(int i,int k)
     {
        for(int j=n;j>=i+1;j--)
        a[j+1]=a[j];
        a[i+1]=k;
        n++;
     }
     void x3(int i)
     {
        for(int j=i;j<=n-1;j++)
        a[j]=a[j+1];
        n--;
     }
     void x4(int k)
     {
        for(int j=1;j<=n;j++)
        if(a[j]==k)  {cout<<j<<endl; return;}
        cout<<-1<<endl;
     }
     int main()
    {
     freopen("interesting.in","r",stdin);
     freopen("interesting.out","w",stdout);
     cin>>n;
     for(int i=1;i<=n;i++)
        cin>>a[i];
     int m;
     cin>>m;
     for(int i=1;i<=m;i++)
     {
        int x,y,z;
         cin>>x;  
        if(x==1)
        {
         cin>>y;  x1(y);
        }
         if(x==2)
        {
         cin>>y>>z;  x2(y,z);
        }
        if(x==3)
        {
         cin>>y;  x3(y);
        }
        if(x==4)
        {
         cin>>y;  x4(y);
        }
     }
     return 0;
    }
  • 相关阅读:
    python线程池ThreadPoolExecutor用法
    redis学习笔记
    selenium + chrome 被检测,反反爬小记
    RabbitMQ单机快速安装使用
    NFS配置使用
    通过Rsync实现文件远程备份
    MySQL笔记-高可用方案
    Redis主从同步、哨兵模式、集群模式配置
    Redis维护笔记
    MongoDB笔记03——分片集群
  • 原文地址:https://www.cnblogs.com/jzyz-lfy/p/7267320.html
Copyright © 2020-2023  润新知