好了,现在凭我的实例也就做做水题吧。。#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
#include<cmath>
#include<stdlib.h>
#include<iomanip>
#include<list>
#include<deque>
#include<map>
#include <stdio.h>
#include <queue>
#define maxn 10000+5
#define ull unsigned long long
#define ll long long
#define reP(i,n) for(i=1;i<=n;i++)
#define rep(i,n) for(i=0;i<n;i++)
#define cle(a) memset(a,0,sizeof(a))
#define mod 90001
#define PI 3.141592657
const ull inf = 1LL << 61;
const double eps=1e-5;
using namespace std;
bool cmp(int a,int b){
return a>b;
}
struct node
{
int p;
int q;
}nod[100005];
bool cmp1(node a,node b)
{
return a.p<b.p;
}
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int t;
cin>>t;
for(int i=1;i<=t;i++)
{
scanf("%d%d",&nod[i].p,&nod[i].q);
}
sort(nod+1,nod+1+t,cmp1);
int max1=0,mark=0;
for(int i=1;i<=t;i++)
{
if(max1>nod[i].q){mark=1;break;}///一个小小变量的作用是多么大啊
max1=nod[i].q;
}
if(mark)cout<<"Happy Alex"<<endl;
else cout<<"Poor Alex"<<endl;
return 0;
}
这道题上来直接打表找规律
发现能整除4的 n 算出来是4,其他的n为0。要注意输入很大,要用字符串。
这里处理就出多说了,假设一个数字n前面n-2个数为 x 后面两个数字为 y ,则这个数 n=x*100+y
前面必然能除4,判断后面两位能否整除四即可
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
#include<cmath>
#include<stdlib.h>
#include<iomanip>
#include<list>
#include<deque>
#include<map>
#include <stdio.h>
#include <queue>
#define maxn 10000+5
#define ull unsigned long long
#define ll long long
#define reP(i,n) for(i=1;i<=n;i++)
#define rep(i,n) for(i=0;i<n;i++)
#define cle(a) memset(a,0,sizeof(a))
#define mod 90001
#define PI 3.141592657
const ull inf = 1LL << 61;
const double eps=1e-5;
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int ans,len,a,b;
char str[100005];
cin>>str;
len=strlen(str);
if(len==1)
{
ans=str[0]-'0';
}
else
{
a=str[len-1]-'0';
b=str[len-2]-'0';
ans=b*10+a;
}
if(ans%4==0)cout<<4<<endl;
else cout<<0<<endl;
return 0;
}