Codeforces Div2 242AB

A、

#include

#include
#include
#include
using namespace std;


//h是用时,sit和stand分别是两种状态的仓鼠
int main()
{
    char a[205];
    int sit = 0,stand = 0;     
    int n;
    cin>> n;
    getchar();
    gets(a);
    for(int i=0; i         if(a[i] == 'x')
            sit++;
        else stand++;
    }
    int h = 0;
    if(sit > stand){
        for(int i=0; istand; i++){
            if(a[i] == 'x'){
                a[i] = 'X';
                sit--;
                stand++;
                h++;
            }
        }
    }
    else if(sit < stand){
        for(int i=0; i             if(a[i] == 'X'){
                a[i] = 'x';
                sit++;
                stand--;
                h++;
            }
        }
    }
    cout<< h<< endl;
    cout<< a<< endl;
    return 0;

}

B、

#include
#include
#include
#include
#include
using namespace std;


//题目就是说Tomsk要发展到1000000人口,包含加入点的最短半径。
//如果所有的点都加入人口也不够就打印-1;
//juli是各点到Tomsk的距离,renkou是人口;
int main()
{
    double x, y, juli[1010];
    int n, s, renkou[1010];
    cin>> n>> s;


    for(int i=0;i     {
        cin>>x>>y>>renkou[i];
        juli[i]=sqrt(x*x+y*y);
        //printf("%.7lf\n",juli[i]);
    }
    for(int i=1;i     {
        for(int j=0;j         {
            if(juli[j]>juli[j+1])
            {
                double t=juli[j];
                juli[j]=juli[j+1];
                juli[j+1]=t;
                int t1=renkou[j];
                renkou[j]=renkou[j+1];
                renkou[j+1]=t1;
            }
        }
    }
    int flag=1;
    for(int i=0;i     {
        s+=renkou[i];
        if(s>=1000000)
        {
            flag=0;
            printf("%.7lf\n",juli[i]);
            break;
        }
    }
    if(flag)printf("-1\n");
    return 0;
}

······················ 就会前两题

你可能感兴趣的:(Codeforces)