题解:数学题目,详细见代码。
AC代码如下:
#include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int a[n][4]; for(int i=0;i<n;i++) { cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3]; } int x1,x2,y1,y2; cin>>x1>>y1>>x2>>y2; int x11=x2-x1,y11=y2-y1; for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { int x=a[j][0]-a[i][2],y=a[j][1]-a[i][3]; int x22=a[j][2]-x-a[i][0]; int y22=a[j][3]-y-a[i][1]; if(y22*x11==y11*x22) { cout<<"YES"<<endl; return 0; } } } cout<<"NO"<<endl; return 0; }
题意:给一个字符串要求查找第一个QAQ这个字符串的位置,直接一个find查找。
AC代码如下:
#include <bits/stdc++.h> using namespace std; int main() { string s; cin>>s; cout<<s.find("QAQ")+1<<endl; }
AC代码如下:
#include <bits/stdc++.h> using namespace std; int main() { int n; long long sum=0; cin>>n; while(n--) { int a; cin>>a; int cnt=0,k[40]; while(a) { k[cnt]=a%2; a>>=1; cnt++; } int i; for(i=0;i<cnt;i++) { if(k[i]!=0) break; } long long y=0; for(int j=i;j<cnt;j++) { y=y*2+k[j]; } sum+=y; } cout<<sum<<endl; }