本文整理汇总了C++中vii::back方法的典型用法代码示例。如果您正苦于以下问题:C++ vii::back方法的具体用法?C++ vii::back怎么用?C++ vii::back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vii
的用法示例。
在下文中一共展示了vii::back方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: primeFactors
void primeFactors(ll n, vii &factors) {
ll PF_idx = 0, PF = primes[PF_idx];
while (PF * PF <= n) {
while (n % PF == 0) {
if(factors.size() == 0)
factors.push_back(ii(PF, 1));
else if(factors.back().first == PF)
factors.back().second++;
else factors.push_back(ii(PF, 1));
n /= PF;
}
PF = primes[++PF_idx];
}
if (n != 1) factors.push_back(ii(n, 1)); // special case if n is a prime
}
示例2: main
int main() {
int m;
scanf("%d", &n);
for(int i=0; i<n; i++) {
scanf("%d", &nums[i]);
nums[i]--;
}
scanf("%d", &m);
newCycles();
if(fp==m){
}else if(fp<m){
while(m-fp>0){
for(int i=0; i<n && m-fp>0; i++){
int v=-1;
for(int j=0; j<n; j++) if(vis[j]!=vis[i]) {v=j; break;}
if(v!=-1){
res.push_back(ii(nums[i], nums[v]));
if(res.back().first>res.back().second) swap(res.back().first, res.back().second);
swap(nums[i],nums[v]);
}else break;
newCycles();
}
}
}else{
while(fp-m>0){
for(int i=0; i<n && fp-m>0; i++){
if(nodeCnt[vis[i]]>1){
int v=-1;
for(int j=0; j<n; j++) if(vis[j]==vis[i] && j!=i) {v=j; break;}
if(v!=-1){
res.push_back(ii(nums[i], nums[v]));
if(res.back().first>res.back().second) swap(res.back().first, res.back().second);
swap(nums[i],nums[v]);
}else break;
}
newCycles();
}
}
}
printf("%d\n", res.size());
if(res.size()){
printf("%d %d", res[0].first+1, res[0].second+1);
for(int i=1; i<res.size(); i++) printf(" %d %d", res[i].first+1, res[i].second+1);
printf("\n");
}
return 0;
}