3月24日周赛
两场CF div2 的题目,最后还是只过7道
A.Circle Line 此题较水,判断min(正向,反向)即可。
B.New Problem 在给定一些字符串(全由小写字母组成)前提下,找出最小的串,要求它不属于任何给定串的子串。串越短、字符越小优先。
回溯写起来应该很方便
看数据量是30,而如果给定字符串长度都为2,则有26*26种可能,所以子串长度只有1或2的可能。所以枚举子串长度为1,2的可能.......
#include <iostream>#include <algorithm>#include <map># define MAX 1000050using namespace std;map <int,int> my;int n,k,a[MAX],ans;int main(){ int i,j; cin>> n >> k; for(i=0; i<n; i++) cin >> a[i]; ans=0; sort(a,a+n); for(i=0; i<n; i++) { if(a[i] % k || my[a[i]/k] == 0) { ans++; my[a[i]] = ans; } } cout<< ans <<endl; return 0;}