您当前的位置: 首页 >  鱼儿-1226 c++

VC++数组打标记

鱼儿-1226 发布时间:2021-03-09 14:55:52 ,浏览量:9

1.NOIP2006 明明的随机数

简单来说这道题就是去重然后排序输出

代码如下

#include
using namespace std;
int main()
{
  int n,m,a[10086];
  scanf("%d" , &n);
  for(int i = 0; i < n ;++ i)
    scanf("%d" ,&a[i]);
  sort( a, a+n);//快排
  m=n;
  for(int i = 0; i < n ;++ i)//此循环为打标记与去重
  {
    if(a[i]==a[i+1])//如果有重复
    {
      a[i] = 1;//则将重复的打上标记
      m --;//因为有重复,所以要在原来的基础上减1
    }
  }
  printf("%d\n" ,m);
  for(int i = 0 ; i < n;++ i)
  {
    if(a[i] != 1)
      printf("%d " ,a[i]);//将没有打上标记的输出
  }
  return 0;
}

2.NOIP2005 校门外的树

这道题体现的打标记思想就非常明显

代码如下

#include
using namespace std;
int main()
{
  int l,m,a[10000+10],f,n,num=0;
  memset(a ,0 ,sizeof(a));//初始化数组所有元素的值为0
  scanf("%d%d",&l ,&m );
  for(int i = 0; i < m ;++ i)
  {
    scanf("%d%d", &f, &n);//f ,n 为砍掉的树的区间
    for(int j = f;j

关注
打赏
查看更多评论

鱼儿-1226

暂无认证

  • 9浏览

    0关注

    855博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录