Codeforces Round #209 (Div. 2)

A:

要么是两次要么4次,判断是否在边界;

 1 #include<cstdio>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n,m,x;
 7     bool flag=0;
 8     scanf("%d%d",&n,&m);
 9     for(int i=0; i<n; i++)
10         for(int j=0; j<m; j++)
11         {
12             scanf("%d",&x);
13             if(x==1&&(i==0||i==n-1||j==0||j==m-1))
14                 flag=1;
15         }
16     if(flag)puts("2");
17     else puts("4");
18     return 0;
19 }
View Code

 

B:

太简单了;

 1 #include<cstdio>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n,k;
 7     scanf("%d%d",&n,&k);
 8     for(int i=1;i<=k;i++)
 9         printf("%d %d ",i*2,i*2-1);
10     for(int i=k+1;i<=n;i++)
11         printf("%d %d ",i*2-1,i*2);
12     return 0;
13 }
View Code

 

C:

分子每个都是N-1项的,所以从他们的最小的那个开始;

如果有k的整数倍个,就把他们合成一个,然后找到最小的那个不能合成的;

 1 #include<cstdio>
 2 #include<map>
 3 #include<iostream>
 4 #define maxn 100005
 5 #define ll long long
 6 #define mod 1000000007
 7 using namespace std;
 8 ll d[maxn],sum;
 9 ll num[maxn];
10 map<ll,ll>mp;
11 map<ll,ll>::iterator it;
12 
13 ll Pow(ll x,ll k)
14 {
15     if(k==0)
16         return 1;
17     if(k==1)
18         return x;
19     ll c=Pow(x,k>>1);
20     if(k&1)
21         return ((c*(x%mod))%mod)*c%mod;
22     else
23         return c*c%mod;
24 }
25 
26 int main()
27 {
28     int n;
29     ll k,ans;
30     cin>>n>>k;
31     for(int i=0; i<n; i++)
32     {
33         cin>>num[i];
34         sum+=num[i];
35     }
36     for(int i=0; i<n; i++)
37     {
38         mp[sum-num[i]]++;
39     }
40     for(it=mp.begin(); it!=mp.end(); it++)
41     {
42         if(it->second)
43         {
44             if(it->second%k==0)
45                 mp[it->first+1]+=it->second/k;
46             else
47             {
48                 if(it->first<=sum)
49                     ans=it->first;
50                 else ans=sum;
51                 break;
52             }
53         }
54     }
55     cout<<Pow(k,ans)<<endl;
56     return 0;
57 }
View Code

 

posted @ 2013-11-11 10:56  Yours1103  阅读(115)  评论(0编辑  收藏  举报