atcoder ABC164(abc总结,......+向上取整 +map记录).

A Sheep and Wolves

传送门

太水了,不做赘述。

AC

#include 
#include 
using namespace std;
int main()
{
    int s,w;
    cin>>s>>w;
    if(w>=s)cout<<"unsafe"<<endl;
    else cout<<"safe"<<endl;
    return 0;
}

B battle

传送门

题意:

有两个人的monster战斗,看谁能获胜(谁的怪先死,就输了)

思路:

交叉做除法,算出两两的生命值。

  1. 这里引入向上取整的公式
  2. int X=(A+D-1)/D; int Y=(C+B-1)/B;(这里因为可能本身便是倍数,所以要减1)

AC(楼主的代码太丑了(没用向上取整)

#include 
using namespace std;
int main()
{
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    int t1=c/b+((c%b)?1:0);
    int t2=a/d+((a%d)?1:0);
   // cout<
   // cout<
    if(t1<=t2)cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
    return 0;
}

C题 gacha

传送门

题意:

统计有多少种单词

思路:

裸map即可

AC

#include 
#include 
#define For(i,x,y) for(register int i=(x); i<=(y); i++)
using namespace std;
map<string,int>ma;
int main()
{
    ios::sync_with_stdio(false);
    int n,ans=0;
    cin>>n;
    For(i,1,n)
    {
        string s;
        cin>>s;
        if(!ma.count(s))
        {
            ma[s]=1;
            ans++;
        }
    }
    cout<<ans<<endl;
    return 0;
}

你可能感兴趣的:(数论)