代码如下:
#include "stdafx.h" #include #include #include
using namespace std;
#define N 10000
int _tmain(int argc, _TCHAR* argv[]) {
int a[N] = {0}; int n, m; int start, end; cin >> n >> m; for (int i = 0; i < m; i++) { cin >> start >> end; for (int j = start-1; j <= end-1; j++) { a[j] ++; if (a[j] == 2) a[j] = 0; } }
for (int i = 0; i < n; i++) { cout << a[i] << " "; } system("pause"); return 0;
}
另一种解决方案: // exam.cpp : 定义控制台应用程序的入口点。 //
#include "stdafx.h" #include <iostream> #include <string> #include <vector>
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { //输入的n个硬币 int cnt; int op_nums;//操作的数量 cin >> cnt >> op_nums; vector<int> coins(cnt, 0);//硬币初始化为0
//op_nums行,2列。 vector<vector<int>> vec(op_nums, vector<int>(2, 0)); //记录输入的数字 for (int i = 0; i<op_nums; i++){ cin >> vec[i][0] >> vec[i][1]; }
//开始遍历 int start, end; for (int i = 0; i<op_nums; i++){ start = vec[i][0];//取得起始位 end = vec[i][1];//取得终止位 //下标位置,注意-1. for (int j=start-1; j<=end-1; j++){ coins[j]++;//自增1 if (coins[j] == 2){ coins[j] = 0; } } }
for (int i = 0; i<coins.size(); i++){ cout << coins[i]; }
system("pause");
return 0; }
|