A. In Search of an Easy Problem
水题过
B. Vasya and Cornfield
线性规划题
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,d;
scanf("%d%d",&n,&d);
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
if((x+y>=d)&&(x+y<=2*n-d)&&(y-x>=-d)&&(y-x<=d))
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
C. Vasya and Golden Ticket
数据大小100,直接暴力
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<bitset>
#include<math.h>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define PI acos(-1)
#define close ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define open #ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);freopen("out.txt","w",stdout); #endif
using namespace std;
typedef long long ll;
const double pai=3.141592653589793238462643383279;
const int MAX_N = 1000000+50;
const int INF = 0x3f3f3f3f;
const double EPS = 1e-10;
const ll INF_ll = 0x7fffffffffffffff;
ll mod = 1e9+7;
/*
不要放弃
Don't give up
*/
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9') {
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') {
x=10*x+ch-'0';
ch=getchar();
}
return x*f;
}
inline void Out(int a)
{
if(a>9)
Out(a/10);
putchar(a%10+'0');
}
int n;
string s;
bool check(int x){
int sum = 0,cnt = 0;
for(int i = 0; i < n; i++){
sum += (s[i] - '0');
if(sum == x){
sum = 0;
cnt++;
}else if(sum > x){
return false;
}
}
if(sum != 0) return false;
if(cnt >= 2) return true;
else return false;
}
int main()
{
cin>>n>>s;
int num = n*9;
for(int i = 0 ; i <= num; i++){
if(check(i)){
cout<<"YES"<<endl;
return 0;
}
}
cout<<"NO"<<endl;
return 0;
}
D. Vasya and Triangle
设一点为(a,0),另外一点为(0,b)和(0,0),构造出a,b
其余证明显而易见 略
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n,m,k;
cin>>n>>m>>k;
if((2*n*m)%k!=0)
{
cout<<"NO"<<endl;
}
else
{
cout<<"YES"<<endl;
cout<<0<<" "<<0<<endl;
ll h=__gcd(2*n,k);
if(h==1)
{
cout<<n<<" "<<0<<endl;
cout<<0<<" "<<2*m/k<<endl;
}
else
{
cout<<2*n/h<<" "<<0<<endl;
cout<<0<<" "<<m/(k/h)<<endl;
}
}
return 0;
}