2018 计蒜之道 初赛 第四场

这次凭借这超强的手速终于打到了Rank76

由于这是手速场,所以题目都偏简单,但惯后面两题还是很不可做的

A. 贝壳找房均价计算

这道题题意很清楚了吧,但是有一个坑点:|Y|表示的是字符串Y的长度,而不是Y的绝对值

然后模拟即可,不得不说道题5minA了还是挺快的

CODE

#include<cstdio>
#include<cstring>
using namespace std;
typedef long long LL;
char s[1005];
LL x;
int t,y;
int main()
{
    register int i; scanf("%d",&t);
    while (t--)
    {
        scanf("%lld.%s",&x,s+1);
        int len=strlen(s+1);
        for (i=len;i>1;--i)
        if (s[i]>='5') ++s[i-1];
        if (s[1]>='5') ++x;
        printf("%lld\n",x);
    }
    return 0;
}

B. 贝壳找房搜房(简单)

这个的话由于数据范围小,我们n!枚举全排列然后暴力判断即可

但是这里有一个巨大无比的坑点:集合无序

这么说对于这组数据:

2 1
2 2 1

的输出应该是1 2而不是2 1

然后我们只要在以上基础上sort一下即可

CODE

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=10;
int num[N],a[30][30],n,m,t[30];
inline char tc(void)
{
    static char fl[100000],*A=fl,*B=fl;
    return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
}
inline void read(int &x)
{
    x=0; char ch=tc();
    while (ch<'0'||ch>'9') ch=tc();
    while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=tc();
}
inline bool check(int l,int r,int id)
{
    register int i; int cnt=0;
    for (i=l;i<=r;++i)
    t[++cnt]=num[i];
    sort(t+1,t+cnt+1);
    for (i=1;i<=cnt;++i)
    if (a[id][i]!=t[i]) return 0;
    return 1;
}
inline void print(void)
{
    for (register int i=1;i<n;++i)
    printf("%d ",num[i]); printf("%d\n",num[n]);
}
int main()
{
    //freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
    register int i,j,k;
    read(n); read(m);
    for (i=1;i<=m;++i)
    for (read(a[i][0]),j=1;j<=a[i][0];++j)
    read(a[i][j]);
    for (i=1;i<=m;++i)
    sort(a[i]+1,a[i]+a[i][0]+1);
    for (i=1;i<=n;++i)
    num[i]=i;
    do
    {
        bool sign=1;
        for (i=1;i<=m;++i)
        {
            bool flag=0;
            for (j=1;j<=n-a[i][0]+1;++j)
            if (check(j,j+a[i][0]-1,i)) { flag=1; break; }
            if (!flag) { sign=0; break; }
        }
        if (sign) { print(); return 0; }
    }while (next_permutation(num+1,num+n+1));
    puts("-1");
    return 0;
}

C. 贝壳找房搜房(中等)&&D. 贝壳找房搜房(困难)

这两题也是很不可做的,SOL写得比较简略,可以O(n^2)贪心判断

但是我不会啊,我真的是太弱了

跪求大佬题解ing......

猜你喜欢

转载自www.cnblogs.com/cjjsb/p/9073891.html