The Solutions of Hydro.ac-Undertale2

The Solutions of Hydro.ac-Undertale2


Hydro.ac-Undertale
last Solutions

U1015

#include<bits/stdc++.h>
#include"WATER.h"
using namespace std;
Num ins;
double t1,t2,k;
int main(){
	Give_In();
	ins=GetIn();
	W_D1(ins.k);
	t1=Drink();
	W_D2(ins.k);
	t2=Drink();
	W_D1((t2-((ins.l+ins.r)/2))*(ins.a+ins.e)/2/(t2-t1));
	W_D2((((ins.l+ins.r)/2)-t1)*(ins.a+ins.e)/2/(t2-t1));
	submit();
	return 0;
}

additional file

config.yaml:

checker_type: testlib
checker: spj.cc
user_extra_files:
  -  WATER.h

Water.h

#include<bits/stdc++.h>
#define rand(x,y) (rand()%(y-x+1))+x
namespace Water {
    static bool hasSubmitted = false,hasGiVe_In = false;
    static double TPT = 0;
    static int l,r,x,y,a=1000000,k,e,num=0;
    struct Num{int a,k,l,r,e;}N_U_M;
    Num GetIn(){return N_U_M;}
    void RE() {puts("re");exit(0);}
    void W_D1(int s){if(s+num>a)s=a-num;TPT+=s*x;num+=s;}
    void W_D2(int s){if(s+num>a)s=a-num;TPT+=s*y;num+=s;}
    double Drink(){if(num>=k){double ret=1.0*TPT/num;num-=k;TPT-=1.0*k*ret;return ret;}else return -1.0;}
    void submit(){if(hasSubmitted)RE();if(num<e)puts("Le55");else if(l>TPT/num)puts("Co1d");else if(TPT/num>r)puts("H0t");else if(l<=TPT/num&&TPT/num<=r)puts("Ye5");else puts("ERR");hasSubmitted=1;}
    void Give_In(){if(hasGiVe_In)RE();srand(time(0));l=rand(100,500),r=rand(500,999),x=rand(0,l),y=rand(r,1500),a=1000000,k=rand(100,999),e=rand(100000,500000);hasGiVe_In=1;N_U_M=(Num){a,k,l,r,e};};
}
using Water::RE;using Water::W_D1;using Water::W_D2;using Water::Drink;using Water::GetIn;using Water::submit;using Water::Give_In;using Water::Num;

spj.cc:

#include <bits/stdc++.h>
#include "testlib.h"
using namespace std;
int main(int argc, char* argv[]) {
    registerTestlibCmd(argc, argv);
    string out=ouf.readString();
    if(out=="Ye5")quitf(_ok, "Correct");
    else if(out=="H0t")quitf(_wa,"The Water is too hot.");
    else if(out=="Co1d")quitf(_wa,"The Water is too cold.");
    else if(out=="Le55")quitf(_wa,"The Water is too less.");
    quitf(_wa,"You have done something strangly.");
}

U1016

#include<iostream>
#include<cstdio>
#define maxn 1000005 
using namespace std;
int n;
int a[maxn],vis[maxn],prime[maxn],cnt=0;
int main(){
	for(int i=2;i<maxn;i++){
		if(!vis[i]){
			vis[i]=1;
			a[i]=1;
			prime[++cnt]=i;
		}
		for(int j=i+i;j<maxn;j+=i){
			vis[j]=1;
		}
	}
	while(1){
		scanf("%d",&n);
		if(n==0){
			return 0;
		}
		if(n==1){
			printf("ASGORE DREEMURR is wrong\n");
			continue;
		}
		for(int i=2;i<=n/2+1;i++){
			if(a[i]&&a[n-i]){
				printf("%d = %d + %d\n",n,i,n-i);
				break;
			}
			if(i==n/2+1){
				printf("ASGORE DREEMURR is wrong\n");
			}
		}
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值