hdu 5058 So easy (set)

1.迭代器类似于指针

2.代码:

#include<cstdio>
#include<set>
using namespace std;

set<int> st1,st2;

int main()
{
    int n;
    while(scanf("%d",&n)==1)
    {
        st1.clear();
        st2.clear();
        int x;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&x);
            st1.insert(x);
        }
        for(int i=0;i<n;i++)
        {
            scanf("%d",&x);
            st2.insert(x);
        }
        int len1=st1.size();
        int len2=st2.size();
        if(len1!=len2)
        {
            printf("NO\n");
            continue;
        }
        int t=0;
        set<int>::iterator it1,it2;
        it1=st1.begin();
        it2=st2.begin();
        while(it1!=st1.end()&&it2!=st2.end())//遍历st1和st2中的所有元素
        {
            //printf("%d %d\n",*it1,*it2);
            if(*it1!=*it2)
            {
                printf("NO\n");
                t=1;
                break;
            }
            it1++;
            it2++;
        }
        if(t)
            continue;
        printf("YES\n");
    }
    return 0;
}


你可能感兴趣的:(STL)