zoukankan      html  css  js  c++  java
  • [FZYZOJ 1202] 金坷垃

    P1202 -- 金坷垃

    时间限制:1000MS

    内存限制:131072KB

    Description

    金坷垃,金坷垃,小麦亩产一千八。金坷垃,金坷垃,一袋能当两袋撒。某牛看准了金坷垃的光明前途,已经储存了整整一满仓的金坷垃,这个仓库能放下N的金坷垃。

    日本资源太缺乏,非洲农业不发达,日本和非洲纷纷要求购入。为了避免被偷被抢,作为奸商的某牛,又另外租了两个容量分别为Q和P的仓库。他每次可以把一个仓库中的金坷垃不停地运到另一个仓库,直到目标仓库满了,或者当前仓库空了。他如此这番折腾了很多次。至于多少次,某牛自己也忘了。终于,某牛只知道,容量为Q的仓库终于是空了。那么现在,最初容量为N的那个仓库,可能会有多少金坷垃咧?(显然某些金坷垃已经直接或者间接地运到了容量为P的仓库)

    Input Format

    输入三个数Q,P,N。分别表示新租的两个仓库的容量和原来的仓库容量。

    Output Format

    输出一行,从小到大输出最初的仓库可能的金坷垃数量。(本题的金坷垃单位,全部为Kg)

    Sample Input

    8 9 10

    Sample Output

    1 2 8 9 10

    Hint

    30%:Q,P,N<=10

    60%:Q,P,N<=100

    100%:Q,P,N<=1000

    【题解】无力吐槽题目

    有点像倒油的搜索题

    加上读入优化2.0竟然0.001s=-=不给我0s

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int q,p,n;
     4 bool vis[1001][1001],ans[1001];
     5 char B[1<<15],*S=B,*T=B;
     6 char getchar2() {
     7     return S==T&&(T=(S=B)+fread(B,1,1<<15,stdin),S==T)?0:*S++;
     8 }
     9 int read() {
    10     int x=0,f=1;
    11     char ch=getchar2();
    12     while(ch<'0'||ch>'9') {if(ch=='-') f=-1; ch=getchar2();}
    13     while(ch>='0'&&ch<='9') {x=x*10+ch-'0'; ch=getchar2();}
    14     return x*f;
    15 }
    16 void f(int x,int y,int z) {
    17     if(vis[x][y])return;
    18     if(x==0)ans[z]=1;
    19     vis[x][y]=1;
    20     if(p-y>=x) f(0,x+y,z);
    21     else f(x-p+y,p,z);
    22     if(q-x>=y) f(x+y,0,z); 
    23     else f(q,y-q+x,z);
    24     if(n-z>=x) f(0,y,x+z);
    25     else f(x-n+z,y,n);
    26     if(q-x>=z) f(x+z,y,0);
    27     else f(q,y,z-q+x);
    28     if(n-z>=y) f(x,0,y+z);
    29     else f(x,y-n+z,n);
    30     if(p-y>=z) f(x,y+z,0);
    31     else f(x,p,z-p+y);
    32 }
    33 int main() {
    34     q=read();p=read();n=read();
    35     f(0,0,n);
    36     for (int i=0;i<=n;++i) if(ans[i]) printf("%d ",i);
    37     return 0;
    38 }
    View Code
    这篇文章由TonyFang发布。 所有解释权归TonyFang所有。 Mailto: tony-fang@map-le.net
  • 相关阅读:
    (周日赛) Average is not Fast Enough!
    过山车
    (寒假CF3)B
    (寒假CF3)坑坑坑
    (周六赛1)Sum it up
    畅通工程
    vue 动态添加form表单item 校验问题
    html2canvas转pdf分页隔断问题处理
    vue中html转pdf并下载功能
    一个简单的滑动溢出效果
  • 原文地址:https://www.cnblogs.com/TonyNeal/p/fzyzoj1202.html
Copyright © 2011-2022 走看看