A题 大学期末现状
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
if(n>=60){
cout<<"jige,haoye!";
}else{
cout<<"laoshi,caicai,laolao";
}
return 0;
}
B题 G1024
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++){
int a1,a2;
cin>>a1>>a2;
if(a2-a1>=n){
cout<<i+1;
return 0;
}
}
cout<<"G!";
return 0;
}
C题 NEUQ
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
string s;
cin>>s;
string s1="NEUQ";
int sum=0;
int num=0;
for(int i=0;i<s.length();i++){
if(s[i]==s1[sum%4]){
sum++;
sum%=4;
}else
{
num++;
}
}
if(sum!=0){
num+=sum;
}
cout<<num;
return 0;
}
D题 小G的任务
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
int j=i;
while(j){
sum+=j%10;
j/=10;
}
}
cout<<sum;
return 0;
}
E题 nn与游戏
#include<bits/stdc++.h>
using namespace std;
struct node{
int x,y;
int len;
};
struct node1{
int x1,y1,x2,y2;
};
int xx[4]={1,0,0,-1};
int yy[4]={0,1,-1,0};
int main(){
int n,m;
cin>>n>>m;
int a[1001][1001]={0};
for(int i=0;i<m;i++){
int a1,a2;
cin>>a1>>a2;
a[a1][a2]=1;
}
int k;
cin>>k;
queue<node1> p;
for(int i=0;i<k;i++){
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
a[x1][y1]=1;
a[x2][y2]=1;
node1 o;
o.x1=x1;
o.y1=y1;
o.x2=x2;
o.y2=y2;
p.push(o);
}
for(int i=0;i<k;i++){
int b[1001][1001]={0};
node1 o=p.front();
p.pop();
queue<node> q;
node h;
h.x=o.x1;
h.y=o.y1;
h.len=0;
q.push(h);
int num=0;
int flag=-1;
while(!q.empty()){
node f=q.front();
q.pop();
for(int d=0;d<4;d++){
int x3=f.x+xx[d];
int y3=f.y+yy[d];
if(x3>=0&&y3>=0&&x3<n&&y3<n&&b[x3][y3]==0){
if(x3==o.x2&&y3==o.y2){
flag=f.len+1;
break;
}
if(a[x3][y3]==0){
b[x3][y3]=1;
node j;
j.len=f.len+1;
j.x=x3;
j.y=y3;
q.push(j);
}
}
}
if(flag!=-1){
break;
}
}
cout<<flag<<endl;
}
return 0;
}
F题 第二大数
#include<bits/stdc++.h>
using namespace std;
int a[20001];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int sum[1001]={0};
int max3=0;
for(int l=1;l<=n;l++){
int max1=a[l],max2=0;
for(int r=l+1;r<=n;r++){
if(a[r]>max1){
max2=max1;
max1=a[r];
}else if(a[r]>max2){
max2=a[r];
}
int num=max2;
int k=0;
while(num){
sum[k++]+=num%10;
num/=10;
}
max3=max(max3,k);
}
}
for(int i=0;i<max3;i++){
sum[i+1]+=sum[i]/10;
sum[i]%=10;
}
int h=sum[max3];
while(h){
sum[max3++]=h%10;
h/=10;
}
for(int i=max3-1;i>=0;i--){
cout<<sum[i];
}
return 0;
}
G题 Num
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
if(n<=2){
cout<<"No";
return 0;
}
if(n%2!=0){
cout<<"Yes";
return 0;
}
else{
for(int a=2;a<=n/a;a+=2){
double num=1.0*(n-a)/(a+1);
int num1=(n-a)/(a+1);
if(num==num1){
// cout<<a<<" "<<num1<<endl;
cout<<"Yes";
return 0;
}
}
}
cout<<"No";
return 0;
}
H题 特征值
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int n=s.length();
int num=0;
int a[500005],b[500005]={0};
for(int i=0;i<n;i++){
num+=s[i]-'0';
b[i]=num;
}
for(int i=0;i<n;i++){
a[n-i-1]=b[i];
}
for(int i=0;i<n;i++){
//cout<<a[i]<<" ";
a[i+1]+=a[i]/10;
a[i]=a[i]%10;
}
int sum=a[n];
while(sum){
a[n++]=sum%10;
sum/=10;
}
for(int i=n-1;i>=0;i--){
cout<<a[i];
}
return 0;
}
J题 玄神的字符串
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int a,b,c;
cin>>a>>b>>c;
int num0=0,num1=0;
for(int i=0;i<s.length();i++){
if(s[i]=='0'){
num0++;
}else{
num1++;
}
}
int sum=0;
if(a<b){
int x=min(num0,num1);
sum+=x*a;
num0-=x;
num1-=x;
int l=max(num0,num1);
if(l!=0){
if(a+c<=b){
sum+=(a+c)*l/2;
}else{
sum+=b*l/2;
}
}
}else{
int x1=num0/2;
int x2=num1/2;
sum+=(x1+x2)*b;
num0%=2;
num1%=2;
if(num0==1){
if(a<=b+c){
sum+=a;
}else{
sum+=b+c;
}
}
}
cout<<sum;
return 0;
}