20171126,一二两题

                                              恐怖服装

题目描述

万圣节又到了!FJ打算带他的奶牛去参加一个化装晚会,但是FJ只做了一套能容下两头总长不超过 S 的牛的恐怖服装。FJ养了 N 头按 1..N 顺序编号的奶牛,编号为 i 的奶牛的长度为 Li。如果两头奶牛的总长度不超过 S,那么她们就能穿下这套服装。
FJ想知道,如果他想选择两头不同的奶牛来穿这套衣服,一共有多少种满足条件的方案。

输入格式

第 1 行是 2 个用空格隔开的整数 N 和 S;
接下来有 n 行,每行包含一个整数 L[i],表示第[i]头奶牛的身长为L[i]。

输出格式

仅一行一个整数,表示FJ可选择的所有方案数。注意奶牛顺序不同的两种方案是被视为相同的。

样例输入

4 6

3 5 2 1

样例输出

4

数据范围

2 <= N <= 1,000,000

#include<bits/stdc++.h>
using namespace std;  
int a[20010];  
int main (){  
    int n,l,count;  
    scanf("%d%d",&n,&l);  
    int i,j;  
    for (i=0;i<n;i++){  
        scanf("%d",&a[i]);  
    }  
    sort(a,a+n);  
    count=0;  
    for(i=0;i<n-1;i++){  
        for(j=i+1;j<n;j++){  
            if(a[i]+a[j]<=l)  
                count++;  
            else  
                break;   
        }  
    }  
    printf("%d",count);  
    return 0;  
}  

     这题贼简单,轻松ac。简单枚举。

 

                                                 密码锁

这题目我都懒得复制粘贴了。

骗分过样例,暴力出奇迹。输出个“249”都能拿30分。。。。。。

3维3重3密码,满分轻松拿到手。

代码如下:

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,a[4],b[4];
    bool cow[200][200][200]={};//三维
    cin>>n;
    for (int i=1;i<=3;i++)
      cin>>a[i];
    for (int i=1;i<=3;i++)//三密码
      cin>>b[i];
    int count=0;
    for (int i=1;i<=n;i++)
      if (abs(i-a[3])<=2||abs(i+a[3]-n)<=2)
        for (int j=1;j<=n;j++)
          if (abs(j-a[3])<=2||abs(j+a[3]-n)<=2)
            for (int k=1;k<=n;k++)//三重
              if (abs(k-a[3])<=2||abs(k+a[3]-n)<=2)
                {
                    if (!cow[i][j][k])
                      count++;
                    cow[i][j][k]=true;
                }
    for (int i=1;i<=n;i++)
      if (abs(i-b[3])<=2||abs(i+b[3]-n)<=2)
        for (int j=1;j<=n;j++)
          if (abs(j-b[3])<=2||abs(j+b[3]-n)<=2)
            for (int k=1;k<=n;k++)
              if (abs(k-b[3])<=2||abs(k+b[3]-n)<=2)
                {
                    if (!cow[i][j][k])
                      count++;
                    cow[i][j][k]=true;
                }
    cout<<count<<endl;
    return 0;                 
}

重要的事情说三遍:我是蒟蒻,我是蒟蒻,我是蒟蒻

 

 

 

  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值