AcWing春季每日一题 Week4

1.AcWing 1812. 方形牧场

题目

AC代码:

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int main(){
	int x1,y1,x2,y2;
	int x3,y3,x4,y4;
	scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
	scanf("%d %d %d %d",&x3,&y3,&x4,&y4);
	
	int ll = max(max(x2,x4)-min(x1,x3),max(y2,y4)-min(y1,y3));
	printf("%d\n",ll*ll);
	return 0;
}

2.AcWing 1800. 不做最后一个!

题目

AC代码:

map 和 unordered_map

#include<iostream>
#include<unordered_map>
using namespace std;
int n,x,a1,a2;
string s;
unordered_map<string, int> mp;
int main(){
    cin >> n;
    for(int i = 0; i < n; i++){
        cin >> s >> x;
        mp[s] += x;
    }
    a1 = 1e9;
    a2 = 2e9;
    for(auto &t: mp){
        if(a1 < t.second && t.second < a2) 
			a2 = t.second;
        else if(t.second < a1) 
			a2 = a1, a1 = t.second;
    }

    if(mp.size() < 7) 
		a2 = a1, a1 = 0;

    int cnt = 0;
    for(auto &t: mp)
        if(t.second == a2) 
			cnt++, s = t.first;

    if(cnt != 1) 
		puts("Tie");
    else 
		cout << s << endl;
    return 0;
}

3.AcWing 1788. 牛为什么过马路

题目

AC代码:

#include <bits/stdc++.h>
using namespace std;
int book[110];
int main(){
	int n,sum = 0;
	cin >> n;
	memset(book,-1,sizeof(book));
	for(int i=1;i<=n;i++){
		int m,x;
		scanf("%d %d",&m,&x);
		if(book[m] == -1){
			book[m] = x;
			continue;
		}else if(book[m] != x){
			book[m] = x;
			sum++;
		}
	}
	printf("%d\n",sum);
	return 0;
}

4.AcWing 1775. 丢失的牛

题目

AC代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
	int x,y,n;
	cin >> x >> y;
	int dis = 0,k = 0;
	n = x;
	for(int i=1,j=1;;j++,i=i*2){
		if(j%2)
			n = x+i;
		else
			n = x-i;
		if(x < y){
			if(n < y){
				dis += (i+k);
				k = i;
			}else{
				dis += (k+y-x);
				break;
			}
		}else{
			if(n > y){
				dis += (i+k);
				k = i;
			}else{
				dis += (k+x-y);
				break;
			}
		}	
	}
	if(x==y)
		printf("0\n");
	else
		printf("%d\n",dis);
	
	return 0;
}

5.AcWing 1866. 围栏刷漆

题目

AC代码:

#include <bits/stdc++.h>
int a,b,c,d,sum=0,book[110];
using namespace std;
int main(){
    scanf("%d %d %d %d",&a,&b,&c,&d);
    fill(book+a,book+b,1);
    fill(book+c,book+d,1);
    for(int i=0;i<=110;i++)
    if(book[i])
    sum++;
    printf("%d\n",sum);
    return 0;
}

6.AcWing 1854. 晋升计数

题目

AC代码:

#include <bits/stdc++.h>
using namespace std;
pair<int,int> p[5];
int a[5],o = 0;
int main(){
	for(int i=1;i<=4;i++)
		scanf("%d %d",&p[i].first,&p[i].second);
	for(int i=4;i>=2;i--){
		a[i]=p[i].second-(p[i].first-o);
		o = a[i];
	}
	for(int i=2;i<=4;i++)
		printf("%d\n",a[i]);
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值