zoukankan      html  css  js  c++  java
  • 2.3幸运儿

    题目

    题意:就是有一堆人,每个人有编号,进行q次操作,删除人,每第b个人就删去,输出剩下的人数,并输出他们的编号

    两种做法,一种是用vector,从后面开始删除,从(m/b)*b个人一直到第b个人,还有一种就是暴力跑,因为只有5000,也就n平方可以过

    第一种

    #include<stdio.h>
    #include<iostream>
    using namespace std; 
    #include<algorithm>
    #include<vector>
    #define sf scanf
    #define scf(x) scanf("%d",&x)
    #define scff(a,b) scanf("%d%d",&a,&b)
    #define pf printf
    #define prf(x) printf("%d
    ",x)
    #define rep(i,a,n) for (int i=a;i<n;i++)
    #define per(i,a,n) for (int i=a;i>=n;i--)
    vector<int>v;
    int main()
    {
    	int n,m,x;
    	scff(n,m);
    	rep(i,0,n)
    	{
    		scf(x);
    		v.push_back(x);
    	}
    	rep(i,0,m)
    	{
    		scf(x);
    		int num=v.size()/x; //总共要删除的人数
    		per(i,num,1)
    		{
    			v.erase(v.begin()+i*x-1); //删除第i*x人
    		}
    	}
    	prf(v.size()); 
    	rep(i,0,v.size()-1)
    	    pf("%d ",v[i]);
    	prf(v[v.size()-1]);
    	return 0;
    }
    

    第二种

    #include<stdio.h>
    #include<iostream>
    #include<cstring>
    using namespace std; 
    #include<algorithm>
    #include<vector>
    #define rep(i,a,n) for (int i=a;i<n;i++)
    #define mm(a,b) memset((a),(b),sizeof(a))
    #define per(i,a,n) for (int i=a;i>=n;i--)
    int a[5007];
    int cunzai[5007];
    int main()
    {
    	int n,q;cin>>n>>q;
    	mm(cunzai,1);
    	rep(i,1,n+1)
    		cin>>a[i];
    	int tot=n;
    	while(q--)
    	{
    		int x;cin>>x;
    		int num=0;
    		rep(i,1,n+1)
    		{
    			if(cunzai[i])
    			{
    				num++;
    				if(num%x==0)
    					cunzai[i]=0,num=0,tot--;
    			}
    		}
    	}
    	cout<<tot<<endl;
    	rep(i,1,n+1)
    	{
    		if(cunzai[i])
    		{
    			if(tot==1)
    			{
    				cout<<a[i];break;
    			}
    			else
    			{
    				cout<<a[i]<<" ";
    				tot--;
    			}
    		}
    	 } 
    	return 0;
    }
    
  • 相关阅读:
    C#笔记(Hex转JPG)
    rpm 和 yum 软件管理
    名称空间和作用域
    网络技术管理和进程管理
    RAID磁盘阵列
    CentOS7系统启动流程:
    磁盘lvm管理
    面向对象 异常处理
    自定义函数和调用函数 return返回值
    Python常用模块
  • 原文地址:https://www.cnblogs.com/wzl19981116/p/10043582.html
Copyright © 2011-2022 走看看