标签:
Description
Input
Output
Sample Input
input | output |
---|---|
3 4 10 |
4 |
2 4 10 |
0 |
1 #include <iostream> 2 using namespace std; 3 4 struct Data{ 5 long long zua; 6 long long zub; 7 }; 8 //本题的思路是为两种不同的分组方式分别赋予不同的组别值, 9 //然后搜索符合题目要求的配对。 10 int main(){ 11 long long a,b,n; 12 cin>>a>>b>>n; 13 Data data[n]; 14 15 long long num1=1,num2=1; 16 for(long long i=0;i<n;i++){ 17 data[i].zua=num1; 18 data[i].zub=num2; 19 if((i+1)%a==0){ 20 ++num1; 21 } 22 if((i+1)%b==0){ 23 ++num2; 24 } 25 } 26 long long result=0; 27 for(long long i=0;i<n;i++){ 28 for(long long j=i;j<n&&j<i+a;j++){ 29 if(data[i].zua==data[j].zua&&data[i].zub!=data[j].zub){ 30 ++result; 31 } 32 } 33 } 34 cout<<result; 35 } 36
那么就用一个数组来实现它:
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 int main(){ 7 int a,b,n; 8 cin>>a>>b>>n; 9 long long result=0; 10 bool qwe; 11 for(int i=0;i<n;i=i+a){ 12 int yb=i/b,k=1,cur; 13 qwe=0; 14 15 for(int j=i+1;j<i+a&&j<n;j++){ 16 int yb2=j/b; 17 if(yb2==yb) continue; 18 if(!qwe){ 19 cur=yb2; 20 k=j-i; 21 qwe=1; 22 } 23 if(yb2!=cur){ 24 k=j-i; 25 cur=yb2; 26 } 27 result+=k; 28 } 29 } 30 cout<<result<<endl; 31 }
标签:
原文地址:http://www.cnblogs.com/liugl7/p/4853442.html