题意:给你包含n个元素的数组和k种元素,要求k种元素要用完,并且每种颜色至少用一次,n个元素,如果某几个元素的值相同,这些个元素也不能染成同一种元素. 思路:如果元素个数n小于k或者值相同的元素的个数大于k,那么一定无解,输出-1.用一个num[a[i]]记录每种相同值的元素出现次数,若大于k,无解.这道题的关键在于如何处理值相同的这些元素,可以用一个二维数组f[i][j]来表示状态,其中i表示对应元素值,j代表颜色.只要对于相同的i,j值不同就可以了.每个元素用什么颜色记录在一个数组ans[i…