#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int n,m;
vector< pair<long,long> > a;
vector< pair<long,long> > b;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
long long u,v;
char c;
scanf("%lld%lld %c",&u,&v,&c); //字符读入老是出锅
if(c==‘A‘) a.push_back(make_pair(u,v));
else b.push_back(make_pair(u,v));
}
while(m--)
{
//cout<<"**********"<<endl;
long long x,y,c;
scanf("%lld%lld%lld",&c,&x,&y);
int fl=1;
long long s=a[0].first*x+a[0].second*y+c;
//cout<<‘a‘<<0<<‘ ‘<<s<<endl;
for(int i=1;i<a.size();i++)
if( (a[i].first*x+a[i].second*y+c) * s > 0)
{
s = a[i].first*x+a[i].second*y+c;
// cout<<‘a‘<<i<<‘ ‘<<s<<endl;
}
else
{
fl=0;
break;
}
if(s*(b[0].first*x+b[0].second*y+c) > 0) fl = 0;
else
{
//cout<<‘b‘<<0<<‘ ‘<<s<<endl;
s = b[0].first*x+b[0].second*y+c;
for(int i=1;i<b.size();i++)
if( (b[i].first*x+b[i].second*y+c) * s > 0)
{
s = b[i].first*x+b[i].second*y+c;
// cout<<‘b‘<<i<<‘ ‘<<s<<endl;
}
else
{
fl=0;
break;
}
}
if(fl) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
// cout<<"***********"<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int n,m;
vector<int> res;
bool get_byte(int n)
{
while(n){
if(n%10 == 7) return true;
n/=10;
}
return false;
}
int main()
{
cin>>n;
int cnt=0;
for(int i=1;cnt<n;i++)
{
if(get_byte(i) || (i % 7 == 0))
{
res.push_back(i);
}
else
{
cnt++;
}
}
int a=0,b=0,c=0,d=0;
for(int i=0;i<res.size();i++)
{
if(res[i]%4==1) a++;
else if(res[i]%4==2) b++;
else if(res[i]%4==3) c++;
else if(res[i]%4==0) d++;
}
cout<<a<<endl<<b<<endl<<c<<endl<<d<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int n,m;
int t[N];
int main()
{
cin>>n>>m;
int ind=1,ans_s=-1;
for(int i=1;i<=n;i++)
{
int y,s=0;
scanf("%d",&t[i]);
for(int j=1;j<=m;j++)
{
scanf("%d",&y);
s+=abs(y);
}
t[i]-=s;
if(s>ans_s)
{
ans_s=s;
ind=i;
}
}
int ans=0;
for(int i=1;i<=n;i++) ans+=t[i];
cout<<ans<<‘ ‘<<ind<<‘ ‘<<ans_s<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n,m;
int a[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int mid;
mid=a[n/2+1];
int ma,mi;
if(a[n]>mid){
ma=a[n];
mi=a[1];
}
else{
ma=a[1];
mi=a[n];
}
cout<<ma<<‘ ‘;
if(n%2==0) {
if((a[n/2]+a[n/2+1])%2==0) cout<<(a[n/2]+a[n/2+1])/2<<‘ ‘;
else cout<<(a[n/2]+a[n/2+1])/2<<".5"<<‘ ‘;
}
else cout<<a[n/2+1]<<‘ ‘;
cout<<mi<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n,m;
int a[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
cout<<(a[1]+a[2])/2<<‘ ‘;
for(int i=2;i<n;i++) cout<<(a[i-1]+a[i]+a[i+1])/3<<‘ ‘;
cout<<(a[n-1]+a[n])/2<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n,m;
int a[N];
int main()
{
int last=1,ans=0;
while(cin>>n, n)
{
if(n==1){
ans+=1;
last=1;
}
else if(n==2)
{
if(last==1){
ans+=2;
last=2;
}
else {
ans+=(last+2);
last+=2;
}
}
}
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int mi = INF;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
if(abs(a[i]-a[j])<mi)
mi=abs(a[i]-a[j]);
cout<<mi<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N];
int main()
{
cin>>n;
int ans = 0;
int a = n / 50;
ans += a * 7;
n -= a*50;
int b = n / 30;
ans += b * 4;
n -= b*30;
ans += n / 10;
cout << ans << endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N];
int main()
{
cin>>n>>m;
int ans=0,all=0;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
{
all+=a[i];
if(all>=m){
all=0;
ans++;
}
}
if(all != 0) ans++;
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n;
int a[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int ans=-1;
for(int i=1;i<=n;i++)
{
int ans1=0,ans2=0;
for(int j=1;j<=n;j++)
{
if(a[j]<a[i]) ans1++;
if(a[j]>a[i]) ans2++;
}
if(ans1==ans2) {ans=a[i];break;} //判断条件加上 ans1!=0 就错了!!! 可以0
}
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n;
int a[N];
int main()
{
cin>>n;
int ans=-1;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=2;i<=n;i++)
ans = max(ans, abs(a[i]-a[i-1]));
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n;
int a[N];
int main()
{
cin>>n;
int ans=0;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=2;i<n;i++)
if( (a[i-1]<a[i] && a[i+1]<a[i]) || (a[i-1]>a[i] && a[i+1]>a[i]))
ans++;
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n;
int a[N];
int main()
{
cin>>n;
int ans=0;
while(n)
{
ans+=n%10;
n/=10;
}
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n;
int a[N];
int main()
{
cin>>n;
int ans=1; //注意ans=1为初始值下面从2开始统计 而不是ans=0初始值下面从1开始统计
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=2;i<=n;i++) {
if(a[i-1]!=a[i]) ans++;
}
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N][N];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&a[i][j]);
for(int i=m;i>=1;i--)
{
for(int j=1;j<=n;j++)
printf("%d ",a[j][i]);
cout<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N],p[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
p[a[i]]=0;
}
for(int i=1;i<=n;i++) printf("%d ",++p[a[i]]);
cout<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N],p[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
int ans=0;
for(int i=2;i<=n;i++) if(a[i]-a[i-1]==1) ans++;
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
const int INF = 100010;
int n,m;
int a[N],p[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int ans=0;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]==-a[j])
ans++;
cout<<ans<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 10010;
const int INF = 100010;
int n,m;
int a,p[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&a);
p[a]++;
}
int ma=-1,ans=a;
for(int i=1;i<=10000;i++)
if(p[i]>ma) {
ma=p[i];
ans=i;
}
cout<<ans<<endl;
return 0;
}
原文:https://www.cnblogs.com/snuonuo/p/14357103.html