CF 1244C The Football Season

Examples

input

30 60 3 1

output

17 9 4

input

10 51 5 4

output

-1

input

20 0 15 5

output

0 0 20

分析:

如果直接解  w*x + d*y = p = h*gcd(w,d) 这个方程组,最后确定通过扩展欧几里得算法 附  y 的初值y0 时要保证方程中的x, y 以及 x+y 的范围落在[0, N]内,这是一件困难的事情,所以应该先转化为求模同余方程 ax=b (mod n) 来做,需要求的只有x, y. 因为胜局数和平局数有权值。

令X1 = p/w ,    X2 = p%w/d,    X3 = p%w%d 若原方程有解,则 (m*w+x3)%d == 0;  其中已知x3, w, d 且m的范围是 [0, x1];即解  模同余方程  m*w%d  =  d-x3; 其中 m的范围是 [0, x1]

//code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf = 1e18;
ll ddiv(ll a, ll b){
    return a/b;

ll udiv(ll a, ll b){
    return (a+b-1)/b;
}
ll exgcd(ll a, ll b, ll &x, ll &y){
    if(b == 0){
        x = 1;
        y = 0;
        return a;
    }else{
        ll r = exgcd(b, a%b, x, y);
        ll xx = x;  ll yy = y;
        x = yy;
        y = xx - (a/b)*yy;
        return r;
    }
}
ll mlr(ll a, ll n, ll b){
    ll x, y, x1;
    ll g = exgcd(a, n, x, y);
    if(b%g != 0){
        return -1;
    }
    x1 = (x*(b/g))%n;
    return  (x1+n)%n;
}
int main(){
    ll n, p, w, d;
    cin>>n>>p>>w>>d;
    ll x1 = p/w;
    ll x2 = (p%w)/d;
    ll x3 = (p%w)%d;
    if(p%w == 0){
        if(x1 <= n){
            cout<<x1<<" "<<0<<" "<<n-x1<<endl;
        }else  cout<<"-1\n";
        return 0;
    }     
    if(x3 == 0){
        if(x1+x2 <= n)  cout<<x1<<" "<<x2<<" "<<n-x1-x2<<endl;
        else  cout<<"-1\n";
        return 0;
    }
    ll ans = mlr(w, d, d-x3);
    if(ans == -1|| ans > x1){
        cout<<-1<<endl;
    }else{
        x1 = x1 - ans;
        x2 = (p-x1*w)/d;
        if(x1+x2<=n) cout<<x1<<" "<<x2<<" "<<n-x1-x2<<endl;
        else  cout<<-1<<endl;
    }
    return 0;
}

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
H3C CF8800是一款高性能的企业级交换机设备,用户手册是为了帮助用户正确配置和使用这款设备而编写的详细指南。 H3C CF8800用户手册主要包括以下内容: 1. 产品介绍:介绍了CF8800交换机的主要特点和硬件结构,包括端口配置、指示灯功能等。用户可以通过阅读这部分内容了解设备的基本情况。 2. 硬件安装:详细介绍了CF8800的安装步骤,包括机柜安装、电源连接、网线连接、风扇插入等。用户可以按照手册中给出的指引一步步完成设备的安装。 3. 系统配置:介绍了CF8800的系统配置方法,包括设备开机、登录认证、管理口配置等。用户可以根据手册中的说明设置设备的基本参数。 4. VLAN配置:详细介绍了CF8800的VLAN配置方法,包括新建VLAN、端口划分、端口模式设置等。用户可以根据手册中的指引配置设备的VLAN。 5. 路由配置:介绍了CF8800的路由配置方法,包括静态路由、动态路由、路由汇总等。用户可以按照手册中给出的步骤配置设备的路由。 6. 安全配置:详细介绍了CF8800的安全配置方法,包括访问控制列表(ACL)、端口安全、防护组等。用户可以根据手册中的说明加强设备的安全性。 总之,H3C CF8800用户手册是一本重要的工具,可以帮助用户快速熟悉设备的各项功能和配置方法。用户在使用CF8800交换机时,可以随时参考手册来解决设备配置和使用过程中的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值