A.2176

给一个字符串s,问距离为D的字母对是否存在相同。

模拟。

#include<bits/stdc++.h>
using namespace std; int main()
{
string s,b;
while(cin>>s)
{
if(s[]=='*')break;
int flag=;
map<string,int>ma;
for(int jump=;jump<s.size();jump++)
{
ma.clear();
for(int L=;L+jump<s.size();L++)
{
b.clear();
b+=s[L];
b+=s[L+jump];
if(ma[b]==)ma[b]=;
else
{
flag=;
break;
}
}
if(flag==)break;
}
if(flag)cout<<s<<" is surprising.\n";
else cout<<s<<" is NOT surprising.\n";
}
return ;
}

A.cpp

B.4694

给两堆糖果,每次从多的那堆拿gcd(a,b)个糖果,lemon先拿,问最后俩人糖果数。

模拟。

#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b,a||b)
{
int le=,yu=,sum=;
while(a||b)
{
if(sum%)le+=__gcd(a,b);
else yu+=__gcd(a,b);
if(a>b)a-=__gcd(a,b);
else b-=__gcd(a,b);
sum++;
if(a==||b==)
{
if(sum%)le+=a+b;
else yu+=a+b;
break;
}
}
cout<<le<<" "<<yu<<endl;
}
return ;
}

B.cpp

C.5259

给若干多项式和一个x,问多项式值最大和按值分组输出相同值最多的个数。

模拟。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll mul(ll a, ll b,int x)
{
if(b == ) return a; while(b--) a*= x;
return a;
}
int main()
{
int t; cin >> t;
while(t--)
{
map<ll,int> mp;
ll n, x; cin >> n >> x;
int maxx = -;
while(n--)
{
ll k,sum = ; cin >> k;
while(k--)
{
ll a, b; cin >> a >> b;
sum += mul(a,b,x);
}
mp[sum]++;
maxx = max(maxx,mp[sum]);
}
map<ll,int>::reverse_iterator it=mp.rbegin();
cout << it->first << " " << maxx << endl;
}
return ;
}

C.cpp

D.5265

给一个围棋谱,问黑棋还需要下在哪才能全围住白棋。

广搜。

#include<bits/stdc++.h>
using namespace std;
char a[][];
int dtx[]={,,,-};
int dty[]={,-,,};
int check(int i,int j)
{
for(int z=;z<;z++)
{
int I=i+dtx[z],J=j+dty[z];
if(I>=&&I<&&J>=&&J<)
{
if(a[I][J]=='W')
return ;
}
}
return ;
}
int main()
{
while(gets(a[])!=NULL)
{
for(int i=;i<;i++)
gets(a[i]);
int sum=;
for(int i=;i<;i++)
for(int j=;j<;j++)
{
if(a[i][j]=='.')
if(check(i,j))
cout<<i+<<" "<<j+<<endl,sum++;
}
if(sum==)cout<<"YuYu Wins!\n";
}
return ;
}

D.cpp

E.5260

给一个1-n的序列,问全排列连接起来第x个数字是几。

模拟。

#include <bits/stdc++.h>
using namespace std;
int s[];
int main()
{
int n,x,a[],b[],i,z,s1,flag,s2,k;
while(~scanf("%d%d",&n,&x))
{
s1=n;flag=;s2=;k=;
for(i=;i<=n;i++)
{
scanf("%d",&z);
a[i]=b[i]=z;
}
sort(a+,a+n+);
for(i=;i<=n;i++)
s1*=i;
sort(a,a+n);
do
{
for(i=;i<=n;i++)
{
if(a[i]!=b[i]) break;
}
if(i>n) flag=;
if(!flag) s2++;
for(i=;i<=n;i++)
s[k++]=a[i];
}while(next_permutation(a+,a+n+));
x+=s2*n;
x%=s1;
if(x!=) x--;
printf("%d\n",s[x]);
}
return ;
}

E.cpp

F.4702

给币值为1,3,5,7,9,13的硬币的个数和糖果的价格g,问最少需要多少枚硬币组成g。

背包。

#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int dp[];
const int LIM=1e9;
int main()
{
int w[]={,,,,,};
int v[];
int t=,g;
while(t!=)
{
int ans=;
t=;
for(int i=;i<;i++)
{
cin>>v[i];
if(v[i]==)t++;
}
cin>>g;
if(g==)
if(t==)
break;
for(int i=;i<=g;i++)
dp[i]=LIM;
for(int i=;i<;i++)
for(int j=;j<=v[i];j++)
for(int k=g;k>=w[i];k--)
dp[k]=min(dp[k-w[i]]+,dp[k]);
if(dp[g]==LIM)cout<<"impossible"<<endl;
else cout<<dp[g]<<endl;
}
return ;
}

F.cpp

G.3331

给一个2n*2n的网格图,以中心为原点画一个直径为2n-1的圆,问圆周线穿过了多少个格子。

思维。

#include<bits/stdc++.h>
using namespace std;
int arr[];
int main()
{
int n;
arr[]=;
for(int i=;i<=;i++){
arr[i]=arr[i-]+;
}
while(cin>>n&&n!=){
cout << arr[n] <<endl;
}
return ;
}

G.cpp

H.4671

给n个数,求前M大并按小到大输出。

只需要记录前M个。

#include<bits/stdc++.h>
using namespace std;
int get() {
int r=;
char c;
while(c=getchar(),!(c>=''&&c<=''));
r = c-'';
while(c=getchar(),c>=''&&c<='')
r = (r*)+c-'';
return r;
}
int main()
{
int n,m,x,b[],len=;
n=get();
m=get();
for(int i=;i<=n;i++)
{
x=get();
if(len<m)b[len++]=x;
else
for(int j=;j<m;j++)
if(b[j]<x)
swap(b[j],x);
}
sort(b,b+m);
for(int i=;i<m;i++)
{
if(i!=)printf(" ");
printf("%d",b[i]);
}
putchar('\n');
return ;
}

H.cpp

I.4959

给n个数,问能否选若干数使和=k。

深搜。

#include<bits/stdc++.h>
using namespace std;
int n,a[],i,k;
bool dfs(int i,int sum)
{
if(i==n)
{
if(sum==k)return ;
return ;
}
if(dfs(i+,sum))return ;
if(dfs(i+,sum+a[i]))return ;
return ;
}
int main()
{
while(cin>>n>>k)
{
for(i=;i<n;i++)cin>>a[i];
if(dfs(,))printf("Yes\n");
else printf("No\n");
}
return ;
}

I.cpp

J.4374

n个特工,密钥总量为k(编号为0到k-1),以及每个特工所带的m个密钥,求是否每3个特工的密钥都可以解密文件。

模拟。

#include<bits/stdc++.h>
using namespace std;
int n,m,k;
int check(int a[])
{ for(int i=;i<m;i++)
if(a[i]==)
return ;
return ;
}
int main()
{
while(cin>>n>>m>>k)
{ vector<int> v[];
for(int i=;i<n;i++)
{ int x;
for(int j=;j<k;j++)
{cin>>x;
v[i].push_back(x);}
}
int flag=;
for(int i=;i<n;i++)
{ for(int j=i+;j<n;j++)
{for(int z=j+;z<n;z++)
{ int a[]={};
for(int t=;t<k;t++)
{ a[v[i][t]]=;
a[v[j][t]]=;
a[v[z][t]]=;
}
if(!check(a))flag=;
}
}
}
if(flag)cout<<"YES\n";
else cout<<"NO\n";
}
}

J.cpp

集训队日常训练20180513-DIV2的更多相关文章

  1. 集训队日常训练20181117 DIV2

    大佬们一顿操作猛如虎,拼命AC强啊 4262: 区间异或  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal ...

  2. 集训队日常训练20181124 DIV2

    急急忙忙要出去比赛就拉了一场有点sb的题目 5202: 网络寻路  时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte总提交: 15            ...

  3. 集训队日常训练20181110 DIV2 题解及AC代码

    4375: 孪生素数  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal Submit: 324       ...

  4. 集训队日常训练20181201 C 1003 : 种类数

    时间限制(普通/Java):2000MS/6000MS     内存限制:65536KByte总提交: 8            测试通过:5 描述 一共有 n个数,第 i 个数是 xi ,其中xi  ...

  5. 集训队日常训练20181201 E 1005 : 小蝌蚪

    时间限制(普通/Java):500MS/1500MS     内存限制:65536KByte总提交: 25            测试通过:5 描述 有 n 个装着小蝌蚪的水缸排成一排,你拥有一个无限 ...

  6. 集训队日常训练20180525-DIV2

    A.2295 求有多少素数对和等于n. 暴力. #include <bits/stdc++.h> using namespace std; int ss(int n) { ,a=sqrt( ...

  7. 集训队日常训练20180525-DIV1

    A.2805 N*M的图,每次浇水(X1,Y1)-(X2,Y2)围成的矩形,问最后有多少点被浇水了. 暴力. #include<bits/stdc++.h> using namespace ...

  8. 集训队日常训练20180518-DIV2

    A.3232 n个物品,换取要花积分,问刚好花完积分能换最大多少价值的物品. 多重背包. #include <bits/stdc++.h> using namespace std; ]; ...

  9. 集训队日常训练20180518-DIV1

    A.3583 n根木棍是否能分成相等两堆. 背包dp,首先求和sum,如果为偶数就说明不行,否则考虑做一个sum/2大小的背包. #include<bits/stdc++.h> using ...

  10. 集训队日常训练20180513-DIV1

    A.3132 给一个有向图,问能否从任意点出发都能进入一个环中. 深搜. #include<bits/stdc++.h> using namespace std; ; vector< ...

随机推荐

  1. React中的this.props.children

    React this.props.children this.props对象的属性与组件的属性一一对应,但是有一个例外,就是this.props.children属性.它表示组件的所有子节点. var ...

  2. 朴素贝叶斯算法的python实现方法

    朴素贝叶斯算法的python实现方法 本文实例讲述了朴素贝叶斯算法的python实现方法.分享给大家供大家参考.具体实现方法如下: 朴素贝叶斯算法优缺点 优点:在数据较少的情况下依然有效,可以处理多类 ...

  3. C++ 字符串、string、char *、char[]、const char*的转换和区别

    1.字符串 字符串本质就是一串字符,在C++中大家想到字符串往往第一反应是std::string(后面简称string) 字符串得从C语言说起,string其实是个类,C语言是没有class的,所以C ...

  4. PAT甲级——A1083 List Grades

    Given a list of N student records with name, ID and grade. You are supposed to sort the records with ...

  5. java生成excel报表文件

    此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...

  6. C#窗体随意移动

    //全区域移动 const int WM_NCLBUTTONDOWN = 0xA1; const int HT_CAPTION = 0x2; [DllImport("user32.dll&q ...

  7. mysql表时间戳字段设置

    创建时间 修改时间  

  8. Sqoop学习笔记_Sqoop的基本使用二(sqoop的import与export)

    Sqoop抽取从mysql抽取到hive sqoop抽取到mysql一样有两种方式一种是用command line的方式,一种是用sqoop opt文件调用的方式.(由于两种sqoop一已经记录了,现 ...

  9. [转]WPF中Binding的技巧

    在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到过的问题做下汇总记录和理解. 1. so ...

  10. 全栈之路-微信小程序-SKU开发(代码)

    SKU开发是小程序中最难的一部分,思路在分析中已经记录过了,这里主要看一下代码的实现,感觉老师写的代码太棒了,很优雅!主要想记录一下写代码的思路,对面向对象编程的实践. 一.代码结构的分析 1.说明几 ...