1 条题解

  • 0
    @ 2024-12-26 17:11:20

    C :

    #include<stdio.h>
    int main()
    {
        int k,t,n;
        scanf("%d%d%d",&k,&t,&n);
        char s1[k][10],s2[t][10];
        int m[k],p[t],q[t],cost[k];
        for(int i=0;i<k;i++)
        {
        	cost[i]=1010;
        	scanf("%s%d",s1[i],&m[i]);
    	}
    	for(int i=0;i<t;i++)
    	{
    		scanf("%s%d",s2[i],&p[i]);
    	}
    	for(int i=0;i<k;i++)
    	{
    		for(int j=0;j<t;j++)
    		{
    			int flag=0;
    			for(int c=0;c<5;c++)
    			if(s1[i][c]!=s2[j][c])
    			flag=1;
    			if(flag)
    			continue;
    			cost[i]=cost[i]>p[j]?p[j]:cost[i];
    		}
    		n-=cost[i]*m[i];
    	}
    	printf("%d",n);
        return 0;
    }
    

    C++ :

    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N=1e6+10;
    typedef pair<int,int> PII;
    typedef priority_queue<int , vector<int>, greater<int>> minqueue;  //从小到大 queue
    typedef priority_queue<int, vector<int>, less<int>> maxqueue;      //从大到小 queue
    
    int gcd(int a, int b){  //最大公因数 
        return b ? gcd(b, a % b) : a;
    }
    
    int lcm(int a, int b){ //最小公倍数 
        return a * b / __gcd(a, b);
    }
    
    int qmi(int base, int power, int p)  //快速幂求余 
    {
    	int result = 1;   
    	while (power > 0)           
    	{
    		if (power & 1)         							
    			result = result * base % p;   
    		base = base * base % p ;       						
    		power >>= 1;         						
    	}
    	return result % p;       
    }
    
    map<string,int> s1,s2;
    
    void solve()
    {
    	int k,t,n;
    	cin>>k>>t>>n;
    	string s;
    	int x;
    	while(k--){
    		cin>>s>>x;
    		s1[s]=x;
    	}
    	while(t--){
    		cin>>s>>x;
    		if(s2[s]!=0) s2[s]=min(s2[s],x);
    		else s2[s]=x;
    	}
    	for(auto q : s1) n-=s2[q.first]*q.second;
    	cout<<n<<'\n';
    }
    
    signed main()
    {
    	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    	int t;
    	t=1;
    	//cin>>t; 
    	while(t--)     
    	{
    		solve();
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    720
    时间
    1000ms
    内存
    128MiB
    难度
    9
    标签
    提交数
    21
    已通过
    2
    上传者