HDOJ A == B ?

A == B ?

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 68381    Accepted Submission(s): 10653

Problem Description

Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".

 

Input

each test case contains two numbers A and B.

 

Output

for each case, if A is equal to B, you should print "YES", or print "NO".

 

Sample Input

1 2
2 2
3 3
4 3

 

Sample Output

NO
YES
YES
NO

#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
char str[1000000],s[1000000];
int main()
{
    int l,n,i,j,dot,a,b,c,d,sign,flag;
    while(scanf("%s %s",str,s)!=EOF){
        l=strlen(s);n=strlen(str);
        sign=flag=0;
        if(str[0]=='-')sign=1;
        if(s[0]=='-')flag=1;
        for(i=0;i<n;++i){
            if(str[i]=='-'&&i==0)continue;
            if(str[i]!='0')break;
        }
        for(j=0;j<l;++j){
            if(s[j]=='-'&&j==0)continue;
            if(s[j]!='0')break;
        }
        a=i;b=j;c=n-1;d=l-1;
        if(strchr(str,'.')){
            for(i=n-1;i>=0;--i){
                if(str[i]!='0'){
                    c=i;break;
                }
            }
        }if(str[c]=='.')c--;
        if(strchr(s,'.')){
            for(j=l-1;j>=0;--j)
                if(s[j]!='0'){
                    d=j;break;
                }
        }if(s[d]=='.')d--;
        if(a>b){
            for(i=b;i<=d;++i){
                if(str[i+a-b]!=s[i])break;
            }
            if((i-1)==d&&(i+a-b-1)==c&&sign==flag)printf("YES\n");
            else printf("NO\n");
        }
        else {
            for(j=a;j<=c;++j){
                if(str[j]!=s[j+b-a])break;
            }
            if((j-1)==c&&(j+b-a-1)==d&&sign==flag)printf("YES\n");
            else printf("NO\n");
        }
    }
    return 0;
}

 

时间: 2024-12-26 07:27:43

HDOJ A == B ?的相关文章

【HDOJ】4328 Cut the cake

将原问题转化为求完全由1组成的最大子矩阵.挺经典的通过dp将n^3转化为n^2. 1 /* 4328 */ 2 #include <iostream> 3 #include <sstream> 4 #include <string> 5 #include <map> 6 #include <queue> 7 #include <set> 8 #include <stack> 9 #include <vector>

POJ Xiangqi 4001 &amp;&amp; HDOJ 4121 Xiangqi

题目链接(POJ):http://poj.org/problem?id=4001 题目链接(HDOJ):http://acm.hdu.edu.cn/showproblem.php?pid=4121 Xiangqi Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1108   Accepted: 299 Description Xiangqi is one of the most popular two-player boa

【HDOJ】4956 Poor Hanamichi

基本数学题一道,看错位数,当成大数减做了,而且还把方向看反了.所求为最接近l的值. 1 #include <cstdio> 2 3 int f(__int64 x) { 4 int i, sum; 5 6 i = sum = 0; 7 while (x) { 8 if (i & 1) 9 sum -= x%10; 10 else 11 sum += x%10; 12 ++i; 13 x/=10; 14 } 15 return sum; 16 } 17 18 int main() { 1

HDOJ 4901 The Romantic Hero

DP....扫两遍组合起来 The Romantic Hero Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 547    Accepted Submission(s): 217 Problem Description There is an old country and the king fell in love with a

【HDOJ】1099 Lottery

题意超难懂,实则一道概率论的题目.求P(n).P(n) = n*(1+1/2+1/3+1/4+...+1/n).结果如果可以除尽则表示为整数,否则表示为假分数. 1 #include <cstdio> 2 #include <cstring> 3 4 #define MAXN 25 5 6 __int64 buf[MAXN]; 7 8 __int64 gcd(__int64 a, __int64 b) { 9 if (b == 0) return a; 10 else return

【HDOJ】2844 Coins

完全背包. 1 #include <stdio.h> 2 #include <string.h> 3 4 int a[105], c[105]; 5 int n, m; 6 int dp[100005]; 7 8 int mymax(int a, int b) { 9 return a>b ? a:b; 10 } 11 12 void CompletePack(int c) { 13 int i; 14 15 for (i=c; i<=m; ++i) 16 dp[i]

HDOJ 3790 双权值Dijkstra

1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 #include <cstring> 5 using namespace std; 6 7 const int INF = 1000000; 8 const int MAXSIZE = 1005; 9 10 int map[MAXSIZE][MAXSIZE]; 11 int price[MAXSIZE][MAXSIZE]; 1

HDOJ 1217 Floyed Template

1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 #include <cstring> 5 #include<map> 6 using namespace std; 7 8 map<string,int>name; 9 const int INF = 1000000; 10 const int MAXSIZE = 1005; 11 const int

hdoj 4004 The Frog&#39;s Games(二分)

The Frog's Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 5676    Accepted Submission(s): 2732 Problem Description The annual Games in frogs' kingdom started again. The most famous game i

【HDOJ】4601 Letter Tree

挺有意思的一道题,思路肯定是将图转化为Trie树,这样可以求得字典序.然后,按照trie的层次求解.一直wa的原因在于将树转化为线性数据结构时要从原树遍历,从trie遍历就会wa.不同结点可能映射为trie上的同一结点,如1->2 (a) 1->3(a) 2->4(b), 这是trie的结构是RT->a->b.然而,从结点3不能找到权重为b的路径.用RMQ求满足边界的rank最大值,通过sa找到该最大值对应的trie上的根.从而求解. 1 /* 4601 */ 2 #incl